哪一个在OpenGL批处理中更重要?

时间:2016-05-27 10:16:30

标签: opengl batching

我已阅读Batch,Batch,Batch

在批处理过程中,主要有两个方面:

  

1提交n个三角形

     

2 SetState

那么哪一个cpu耗时更长?

或者SetState本身实际上并不重要。重要的只是因为一旦状态发生变化,我们必须再次提交三角形?

1 个答案:

答案 0 :(得分:0)

总而言之,它并不重要(就像你在问题的最后所说的那样)

  • 如果您在没有提交数据的情况下进行SetState而不是用该状态进行绘制,那就太愚蠢了。不要做SetState。
  • 如果您使用相同的状态绘制多个批次,则应该将它们作为一个批次提交。

"设置状态"确实会依赖于驱动程序,并指出您要改变的状态。某些更改可能需要进行大量验证,这可以在您设置状态时实现,也可以在实际发送到GPU时完成,无法确切知道。

一般来说,我会指望"提交平局"无论状态是否在改变之前都计为1批。