了解如何为特定类型的iOS和tvOS设备开发Metal应用程序,如果你想开发Metal的APP最好要熟悉不同CPU的特性。
前文我们提到,MTLDevice 协议的作用:
1.可以在GPU设备中查询是否对APP的Metal提供特殊功能。
2.使用GPU设备发出所有Metal commend(命令)
3.不要自己实现此协议,相反,要从上文我们介绍的MTLCreateSystemDefaultDevice()方法中获取Device
4.使用MTLCopyAllDevicesWithObserver,可以获取可用的GPU设备
5.有关选择正确的GPU设备的讨论,请查考:Getting the Default GPU
下面我们来看一下,不同设备的特性
About GPU Family 4 :
了解A11功能,包括光栅顺序组,平铺着色器和图像块。
概观
GPU系列4描绘了A11芯片及其Apple设计的图形处理器(GPU)架构所支持的新功能和性能增强。
iOS和tvOS设备中的GPU实现了一种称为基于图块的延迟渲染(TBDR)的渲染技术,以优化性能和功效。在传统的立即模式(IM)渲染器中,当三角形被提交给GPU进行处理时,它会立即呈现给设备内存。三角形由光栅化和片段函数阶段处理,即使它们被稍后提交给GPU的其他基元遮挡。
基于平铺的延迟渲染
TBDR对IM架构进行了一些重大更改,在提交了所有基元后处理场景。屏幕被拆分为单独处理的图块。同时处理与图块相交的所有几何图形,并在光栅化和片段着色阶段之前丢弃被遮挡的图像。将磁贴渲染到GPU上的快速本地存储器中,并且仅在渲染完成后才将其写入设备存储器。
TBDR允许顶点和片段阶段异步运行 - 相对于IM提供显着的性能改进。在运行渲染过程的片段阶段时,硬件并行执行未来渲染过