用转换绘制网格

时间:2014-11-04 14:59:38

标签: performance 3d vertex-buffer

假设有许多不同的网格,其中每个框架的变换或多或少都会发生变化,一般的速度会快于这些绘制方法:

  1. 对于每个帧,使用网格的变换顶点填充一个大的顶点缓冲区(转换在CPU上完成,顶点每帧复制到缓冲区)。
  2. 对于每个对象创建,插入网格的非变换顶点,然后在绘图时将每个网格的变换作为一个统一参数发送(在GPU上进行变换,在网格创建时复制顶点)。
  3. 我们可以假设每个帧都绘制了所有网格,因此不会复制情况1的顶点)。

1 个答案:

答案 0 :(得分:0)

选项#2几乎总是更快。如果您有 N 顶点和 M 变换,那么在CPU上执行〜 N 算术运算之后的差异就是〜 N 总线传输,而不是执行〜 M 总线传输(更快),然后在GPU上执行〜 N 算术运算(也更快)。 / p>

如果你的CPU在顶点操作的总吞吐量(非常不可能)方面比你的GPU快得多,或者如果 M 是同一个数量级的话as N