首页 文章

用转换绘制网格

提问于
浏览
0

假设存在许多不同的网格,其中每个帧的变换或多或少都会发生变化,这些绘制方法通常会更快:

  • 对于每个帧,使用网格的变换顶点填充一个大的顶点缓冲区(转换在CPU上完成,顶点每帧复制到缓冲区) .

  • 对于每个对象创建,插入网格的非变换顶点,然后在绘制时将每个网格的变换作为均匀参数发送(在GPU上进行变换,在网格创建时复制顶点) .

我们可以假设每个帧都绘制了所有网格,因此不对情况1)复制顶点无关紧要 .

1 回答

  • 0

    选项#2几乎总是更快 . 如果你有N个顶点和M个变换,那就是在CPU上执行~N算术操作然后进行~N总线传输之间的区别,而不是在GPU上执行~M总线传输(更快),然后执行~N算术运算(也是快点) .

    如果你的CPU在顶点操纵的总吞吐量(非常不可能)方面比你的GPU快得多,或者如果M与N的数量级相同,那么这次失败的唯一时间就是失败 .

相关问题