1

我已阅读Batch,Batch,Batch

在批处理过程中,主要有两件事:

1 提交n个三角形

2 设置状态

那么哪一个更耗时?

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

4

1 回答 1

0

总而言之,这并不重要(就像你在问题结束时所说的那样)

  • 如果您执行 SetState 而不提交数据以使用该状态进行绘制,那就太愚蠢了。不要执行 SetState。
  • 如果您绘制了多个具有相同状态的批次,您可能应该将它们作为一个批次提交。

“设置状态”所做的将非常依赖于驱动程序,以及您更改哪个状态。某些更改可能需要大量验证,这可以在您设置状态时完成,或者当它实际发送到 GPU 时,无法确定。

一般来说,我认为“提交平局”算作 1 批,无论在执行之前是否更改了状态。

于 2016-05-27T12:34:11.353 回答