2011-01-23 73 views
3

#1 OpenGL ES 2.0設備(iPhone/iPad)可以同時編譯和提供多少個/大小的着色器程序是否有限制?OpenGL ES 2.0中的着色器之間切換性能是否有所下降?

#2是否有一通的中間程序之間的切換,例如任何性能開銷,如果我要渲染100個三角形,50 shader1,50 shader2,我會遇到任何情況下,性能影響使用這個?例如,每個三角形的交替程序可以慢一些,或者它應該更快地進行批處理,並且執行所有50個shader1和50個shader2?我猜我在問是否有一些內部上下文切換,或者OpenGL ES庫只是指定要執行的卡上的着色器程序存儲器的地址,並且如果我用不同的方式指定每個三角形,則無關緊要。

回答

4
  • 問題1,沒有限制,只有系統中可用的內存量。
  • 問題2,是的,切換着色器的性能受到影響,所以批處理和最小化着色器切換可確保最佳性能。
相關問題