d3d中动态顶点缓冲区的效率和用法

时间:2012-04-17 14:27:13

标签: c++ directx

我提交了一个实际上是一堆问题的问题,所以我按照要求将它们分成各自不同的问题。

我已经阅读并使用了动态顶点缓冲区,并在运行时对它们进行了操作等等。但是我被告知,要将动态顶点缓冲区保持在绝对最小值,因为它们往往比静态更难以降低性能缓冲区。我还读到,不是一直锁定和解锁只写几个多边形,使用动态缓冲区允许你将大量顶点集中到一个缓冲区并一次性发送它们,这显然提高了性能。我可能希望能够不断地操纵场景中的大多数对象(不仅仅是通过旋转或缩放,而是通过单个顶点位置等),所以有一些方法可以使用动态缓冲区必须更新或更改,但不必每帧都重写?

1 个答案:

答案 0 :(得分:1)

动态缓冲区不需要重写每一帧,它比CPU更易于访问,以便于更新。对于不太频繁的更新,您可以使用GPU更易于访问的静态以便更快地呈现,然后使用UpdateSubResource根据需要编辑一系列顶点。