C# 有没有办法在XNA中锁定VertexBuffers?
查看MSDN文档,我无法找到锁定VertexBuffers的方法,以便在设备上更改它们的数据。这在XNA中是否可行?您有许多选项可用于修改XNA中顶点缓冲区的内容:C# 有没有办法在XNA中锁定VertexBuffers?,c#,xna,msdn,C#,Xna,Msdn,查看MSDN文档,我无法找到锁定VertexBuffers的方法,以便在设备上更改它们的数据。这在XNA中是否可行?您有许多选项可用于修改XNA中顶点缓冲区的内容: VertexBuffer有一个成员。在任何可能激活的情况下,您只能在绘图之外安全地使用此选项(因此,最好始终在绘图之外使用此选项) 类似于VertexBuffer,但设置其内容时速度更快。但是,图形设备很容易丢失,必须处理这种情况。也来看看 (和版本)。这样做的优点是不会影响谓词平铺,也不会导致命令缓冲区刷新少量原语 有关MSD
有一个成员。在任何可能激活的情况下,您只能在VertexBuffer
之外安全地使用此选项(因此,最好始终在绘图之外使用此选项)绘图
- 类似于
,但设置其内容时速度更快。但是,图形设备很容易丢失,必须处理这种情况。也来看看VertexBuffer
- (和版本)。这样做的优点是不会影响谓词平铺,也不会导致命令缓冲区刷新少量原语
有关MSDN的更多信息,请参阅。在XNA论坛上也可能值得一读。非常感谢。这是很多好信息。还有一个问题:在VertexBuffer外部绘图上调用SetData是否总是安全的?@blachniet:是的(实际上这是命令缓冲区,但在简单的情况下,是的,外部绘图)。你听起来像是来自DirectX背景:如果你需要绝对确定XNA在幕后做什么,你可以通过PIX运行游戏。