为了尽量减少状态变化的数量,我应该对网格的绘制顺序进行排序。无论如何,如果我有多个使用多个着色器的网格,我需要选择按顶点属性绑定或着色器统一参数之一进行排序。
我应该选择什么?我认为由于 GPU 缓存命中率,我必须选择最小化顶点属性更改,但我不知道着色器更改成本。决定绘图顺序时的一般关注点是什么?我可以得到一些基础来选择这个吗?
PS。我的目标是 iOS/PowerVR SGX 芯片。
编辑
我决定按材质排序,因为许多网格将只使用几种材质,但有一堆网格要绘制。这意味着我将有更多机会共享材质而不是共享网格。因此它将有更多机会减少状态更改计数。反正我不确定,所以如果你有更好的意见,请告诉我。