我有一个场景,其中定义了单个FBO。 就像上面提到的那样,我使用相同的FBO进行渲染..
e.g。
绽放 -
1-提取图像的白色部分
2-模糊白色部分
3-组合模糊白+原始场景
4-渲染FBO
现在,一切都按预期工作,我看到一个漂亮的开花图像。 但是,如果我为任务1,2和3分别设置FBO,那么性能会有显着提高吗?
答案 0 :(得分:1)
我在更改FBO附件时(即从Float到8位或通过删除/添加深度缓冲区更改配置)在WebGL中遇到问题(渲染失败)。所以在这种情况下我会推荐单独的FBO。但是,我很确定这些是实现中的错误。
我没有看到与常规桌面GL有任何明显的性能差异,但我的瓶颈通常在其他地方。我相信当你使用很多附件(例如颜色附件)时,它才会变得很重要,在这种情况下,另一个FBO的单个绑定/解除绑定会更快。
当您的应用程序可以并行执行其中一些渲染作业时,这会变得更加有趣和复杂,因为我相信this回答是暗示的。
相关:
最后,测试/基准测试只是为了确保绝不是一个坏主意。