首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

OpenGL shader性能优化策略(一):减少分支语句

为了大幅度提高计算速度,OpenGL利用了GPU,而GPU的基本调度单位叫做wavefront(不同平台理念相同、叫法不同,NVIDIA平台叫warp,AMD平台叫wavefront等,本文统称为wavefront...但是一旦引入if/for产生分支,wavefront结构就被完全破坏掉了,会产生diverged wavefront。...wavefront就无法同步计算、被迫分开,即为diverged wavefront。...由于GPU计算资源也是一定的,新产生的两个wavefront可能需要排队等待来顺序执行(原来是并行执行),尤其是wavefront大批量diverged的时候;然后新分割出来的wavefront如果要移动到其他...wavefront的线程都会在if判断后走同一个分支,这样wavefront就不会diverge。

9.6K20
您找到你想要的搜索结果了吗?
是的
没有找到
领券