在GLSL中编写高效的着色器是否有任何指导原则?编译器是否可以处理大部分优化?有效的GLSL代码技巧
18
A
回答
20
的一些技巧在这里:Common mistakes in GLSL
此外,避免分支只要有可能。也就是说,if
和while
语句和for
语句具有带有可变的比较,例如:
for (int i=0; i<n; i++) {}
将是缓慢的。然而,
for (int i=0; i<10; i++) {}
要快很多,因为大部分的循环被展开的时候,当它不是所有的着色单元仍然在同一时间执行相同的代码,所以没有性能损失。
而不是分支,尝试使用预处理器的条件编译。
此外,检查出NVIDIA和ATI的具体#pragma
s到调整的效率。
2
虽然许多传统的c优化适用于glsl,但确实存在一些针对GLSL的特定优化。 如果你不熟悉着色器编程,不要花费太多精力,你的编译器可以为你做出非常有效的工作。 当您更深入地了解图形编程时,您可以收集其他一些高级optm技术。 祝你好运。
相关问题
- 1. 有效的C#技巧
- 2. CSS代码组织技巧
- 3. Android代码优化技巧
- 4. PHP代码部署技巧
- 5. 代码优化技巧:
- 6. 编写好的python代码的技巧
- 7. 缩短PHP代码的技巧?
- 8. 调试大块javascript代码的技巧
- 9. 构建C代码的技巧/资源?
- 10. extjs中的代码优化技巧?
- 11. 技巧编写干净的代码
- 12. 这个技巧总是有效吗?
- 13. Android游戏 - 代码示例和技巧
- 14. 最佳代码结构技巧PHP
- 15. 定制Java代码库使用技巧
- 16. C#代码缩小工具和技巧
- 17. Alexa技巧来控制罗技squeezebox - 请求修改代码
- 18. for循环机制效率的技巧
- 19. 处理器如何优化代码有哪些技巧?
- 20. 移位编码效率(即整洁的技巧)
- 21. 脚本技巧
- 22. nVidia SLI技巧
- 23. CSS hacks(技巧)
- 24. 生成Javascript代码的延续后面的技巧是什么?
- 25. 有没有可能的css技巧这
- 26. Android开发:有效的语法高亮技巧?
- 27. 包装代码以避免重复的技巧?
- 28. CSS技巧,以缩短我的冗余代码
- 29. 在Rails代码流中调试ruby的技巧
- 30. 的Eclipse Ganymede黑客,提示,技巧,技巧和最佳实践