Xcode提供每帧GPU捕获,我在金属演示中使用它。 当我深入了解函数drawIndexdPrimitive的性能时,我对某些参数感到困惑。
我想知道纹理单元(着色器核心)时间和停顿时间的含义是什么。 Xcode仅暗示其处于活动状态或停顿。为什么它们加起来不等于100%?活跃的纹理是什么意思? 另一个问题是GPU环形带宽的含义是什么?数字9.31是否表示可用带宽?
答案 0 :(得分:1)
着色器核心时间表示您的着色器在执行ALU指令(即数学)上花费的时间。
纹理核心时间表示着色器花费多少时间从纹理中获取数据。
停顿时间表示着色器在可以执行指令之前在另一个内核上等待的时间。
您得到的结果表明,着色器核心花费了大约87.3%的时间,等待纹理核心通过GPU总线获取数据并过滤数据,然后才能实际执行数学指令
这意味着您的着色器没有充分利用着色器核心。
您可以做一些事情: