gpt4 book ai didi

opengl - 剥离器技术是否可以提高性能?

转载 作者:行者123 更新时间:2023-12-02 03:03:01 25 4
gpt4 key购买 nike

我已经读过很多次,将三角形的几何图形合并到三角形条或三角形扇形可以提高 3D 渲染的性能,因为需要处理的顶点更少等等...所有这些考虑因素在使用 VBO 的上下文中有何相关性和索引渲染?

例如,我有一个由三角形组成的基元(球体)。我有 VBO,其中仅存储唯一的顶点,并且我有 VBO(绑定(bind)到 GL_ELEMENT_ARRAY_BUFFER),我在其中存储索引以从顶点构造基元。所有渲染都是通过glDrawElementsInstanced()完成的。在应用一些 strip 化技术并将我的图元渲染为 GL_TRIANGLE_STRIP 并启用图元重启后,我的性能会得到提升吗?

文档说 OpenGL 管道在所有每个顶点操作之后和光栅化之前组装图元。正如我所猜测的,这意味着驱动程序首先为所有顶点调用顶点(几何等)着色器,然后才开始使用索引数组来获取三角形。如果这是真的, strip 化会减慢进程,因为将应用对原始重启的额外检查。

我试图找到一些剥离器库,但我发现的所有库看起来几年前就被遗弃了。于是人们突然对这方面失去了兴趣......

考虑到所有这些因素,没有必要进行剥离。我是正确的还是我错过了一些重要的事情?是否需要在现代硬件上进行剥离?

最佳答案

一般来说不会,您不会从三 strip 中获得优势。现代硬件需要索引数据,并为此进行了优化。

这并不是说可以随机访问索引 - 由于数据被缓存,局部性很重要。因此,按 strip 顺序排列三角形可能会带来一些改进。

性能也会有所不同,具体取决于实际花费多少时间担心三角形设置和顶点处理,以及实际着色的时间。

与所有事情一样 - 分析您的性能,看看什么适合您自己的情况,但自 PS2 以来我就不再费心去剥离三角形了。

关于opengl - 剥离器技术是否可以提高性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13932002/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com