为什么要创建VertexBufferUploader
时间: 2023-08-04 21:03:27 浏览: 30
在Direct3D 12中,CPU和GPU之间的数据传输速度相对较慢,如果每次需要更新顶点数据时都使用CPU写入缓冲区,会导致性能下降。为了提高性能,可以使用Upload Heap和VertexBufferUploader来批量更新顶点数据。
Upload Heap是一种专门用于上传数据的内存资源,通常位于系统内存中,因此访问速度比GPU内存慢。而VertexBufferUploader则是一个用于管理Upload Heap的辅助类,它提供了一系列方法,用于将顶点数据从CPU内存复制到Upload Heap中,并在需要时将数据从Upload Heap复制到GPU内存中。
使用VertexBufferUploader的好处在于,它可以将多个小的顶点数据批量复制到Upload Heap中,然后在一次GPU命令中将它们复制到GPU内存中,从而减少CPU和GPU之间的数据传输次数,提高了性能。此外,VertexBufferUploader还可以对顶点数据进行一些处理,如对齐、填充等,以符合GPU的要求。
因此,创建VertexBufferUploader的主要目的是为了提高顶点数据的上传效率,从而提高渲染性能。