glDrawElement 比 glDrawArray 效率好的原因。

Why is this faster than rendering using a vertex buffer and no index buffer?

When using an index buffer the graphics card can make use of a cache of already transformed (vertex-shaded) vertices and when an index is reused, it can use the cached result instead of running the vertex shader again. Of course, this only works if there exists a certain temporal locality, but that is given.
If no index buffer is used, the vertex cache won't be used, because the implicit index is different for each vertex.

 

上面的意思是说:使用索引,可以重复利用乘矩阵后转换好的数据,因为索引缓存存在相同的的索引,当发现相同的索引时,前面的顶点数据可以不用

再去转换了,直接使用cache当中的就可以。

posted on 2012-07-20 09:45  zengqh  阅读(1809)  评论(0编辑  收藏  举报