1
2
在XNA中,图形驱动程序根据指定的缓冲区属性决定顶点和索引缓冲区的最佳位置。可以对缓冲区的存储位置进行影响的选择包括:
在游戏经常修改顶点缓冲区的情况下,建议实例化缓冲区或从DynamicVertexBuffer派生缓冲区,而不是VertexBuffer类
表示应用程序只写入顶点缓冲区。如果指定,驱动程序将选择最佳内存位置,以实现高效的写入和呈现。尝试从只写顶点缓冲区读取失败。“ 摘要给定有关如何使用缓冲区的信息,图形驱动程序通常能够比您更好地决定缓冲区的位置。这是因为它知道每种类型的内存有多少可用,以及该特定系统的内存性能特征。 注意:对于xbox上带有动态顶点和索引数据的XNA 3.1及以下版本,将数据存储在托管数组中并使用DrawUserPrimitives比使用DynamicVertexBuffer或DynamicIndexBuffer更快。 如果最终使用的是动态缓冲区,则在使用SetData时必须小心不要使管道暂停。看到了吗 http://blogs.msdn.com/b/shawnhar/archive/2008/04/15/stalls-part-two-beware-of-setdata.aspx |