在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黑客,提示,技巧,技巧和最佳實踐