2010-12-03 41 views
2

我正在使用OpenGL ES 1.1爲Android設計一款2D遊戲,我想知道這個想法是好還是壞/無用。我可以使用glscissor提高性能嗎

我有一個屏幕分爲3個部分,所以我用剪刀避免物體重疊從一個視圖到另一個。

我大致瞭解了剪刀的低級實現,由於我的繪圖佔用了計算的很大一部分,我正在尋找想法來加速它。

我現在的想法是:

如果我把一個glscissor圍繞每一個對象之前,我畫它,我會增加我的應用程序的速度。

的想法是,如果我把一個GLScissor,(+/-中心sizetexture),然後OpenGL的管道將有較少測試做(因爲它可以拋棄90〜99%的表面感謝到glscissors。

所以對於所有的opengl專家來說,這是好的,壞的還是會沒有影響?爲什麼?

回答

1

它應該沒有任何影響,恕我直言,我不是專家,但我的想法如下:

  • 剪式測試節省了GPU的填充率(硬件可以在幀緩衝區中放入的碎片/像素量r每秒),
  • 如果您在每個對象周圍放置一個glScissor,則測試不會實際切斷任何東西 - 將渲染相同數量的像素,因此不會保存填充率。

如果您希望您的渲染優化,一個良好的開端是確保你正在做最佳batching和減少繪製調用或複雜的狀態開關(紋理開關)的數量。

當然,正確的優化方法是嘗試診斷爲什麼你的渲染速度慢,所以以上只是我的猜測,這可能會或可能不會幫助您的特定情況。

+0

好吧,我在剪刀的印象下,它會允許在圖形管道中更早地丟棄像素(避免重疊測試等),但無論如何感謝鏈接我會檢查出 – 2010-12-03 06:28:54

相關問題