1

我正在为植被实现广告牌,其中广告牌当然是由两个三角形组成的单个四边形。顶点数据存储在顶点缓冲区中,但我应该为索引烦恼吗?我知道,当您使用索引时,就发送到显卡的顶点而言,地形之类的节省可能会很大,但是在广告牌上使用索引意味着我每个四边形将有 4 个顶点而不是 6 个,因为每个四边形完全与其他人分开。

是否有可能使用索引实际上会降低性能,因为存在额外的间接级别?还是根本没有任何意义?

我问这个是因为使用索引会使事情稍微复杂化,我很想知道我是否没有做额外的工作,只会让事情变慢(无论是在理论上还是在实践中实际上很明显)。

这是使用 XNA,但应该适用于 DirectX。

4

2 回答 2

2

使用索引不仅可以通过向卡发送更少的数据来节省带宽,还可以减少顶点着色器必须做的工作量。如果有索引用作键,则可以缓存顶点着色器的结果。

如果您渲染大量这种广告牌植被并且不更改索引缓冲区,我认为您应该会看到一点点收益。

于 2009-05-27T23:30:21.047 回答
1

当涉及到非常原始的宝石时,使用索引可能没有任何意义,在这种情况下我什至不会关心性能,即使是适度的硬件也会每秒渲染数百万个三角形。

现在,从技术上讲,您不知道硬件将如何在内部处理数据,无论如何它可能会将它们转换为索引,因为这是最流行的几何表示形式。

于 2009-05-25T06:23:25.380 回答