gpt4 book ai didi

opengl - 现代 GPU 上制服的分支成本

转载 作者:行者123 更新时间:2023-12-02 23:46:51 31 4
gpt4 key购买 nike

在现代 (GL3.3+) GPU 上使用 GLSL 时,在统一上进行分支的可能成本是多少?

在我的引擎中,我已经达到了拥有大量着色器的程度。我为其中的很多预设了几种不同的质量预设。就目前情况而言,我在着色器中使用带有 if() 的制服来选择不同的质量预设。然而,我担心通过重新编译着色器并使用#ifdef 可能会获得更好的性能。问题是当我重新编译着色器时需要担心跟踪和重置其他制服。

基本上我想知道的是我的担心是否没有根据。在现代 GPU 上统一分支是否便宜?我自己做了一些测试,发现两者的差别很小,但我只在 nVidia 680 上进行了测试。

最佳答案

我承认我不是专家,但也许我的猜测总比没有好。

我认为制服分支确实相当便宜。它显然与纹理或属性数据上的分支有很大不同,因为 SIMD 中的所有 ALU 将遵循来自着色器的相同代码路径,因此它是“真正的”分支而不是执行掩码。我不太确定着色器处理器如何遭受管道中的分支气泡的影响,但管道肯定比通用 CPU 更浅(特别是考虑到它们通常运行的时钟速度要低得多)。

我希望我能提供更多帮助,如果其他人能够更权威地回答,我也将不胜感激。然而,就我而言,我不会太担心制服的问题。但与往常一样,如果有可能,请分析您的着色器并看看它是否会产生任何明显的差异。

关于opengl - 现代 GPU 上制服的分支成本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29091281/

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