Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我目前正在使用 glDrawElements 来渲染一个网格(地形),它可能会偶尔对其进行更新(地形变形)。想知道我是否应该在技术上使用 glDrawArrays 代替?
真的取决于你所有的图元是否使用不同的顶点。在您的地形示例中,如果布局是网格,则每行图元将与前一行共享顶点。如果你调用glDrawArrays而不是glDrawElements你需要传递重复的顶点,这是最昂贵的(要转换的顶点更多)。
glDrawArrays
glDrawElements
更新顶点与如何渲染它、在 GPU 内存中保持元素列表静态以及更新顶点无关(除非你的变形也需要更新元素,在这种情况下不要使它们成为静态的)。
话虽如此,两者都尝试一下,看看什么更快(配置文件!)。