我在3個FBO中進行渲染,所以我有3次通過。而當我調用glBindFramebuffer()時導致第三個FBO導致我的應用程序以較低的fps運行。如果我在所有3次傳球中只使用第三FBO進行渲染,我會得到相同的FPS,但如果我使用第一FBO渲染所有3次傳球,我會獲得更高的FPS。什麼可能是這種行爲的原因?glBindFramebuffer導致OpenGLES性能下降
0
A
回答
0
由於保留下一個綁定的內容所涉及的複雜性,在ES中經常存在非直接的成本來解除綁定幀緩衝區。然而,你通常並不想要保存內容 - 例如對於用戶可以實際看到的緩衝區,您幾乎總是可以清除,繪製幾何圖形,呈現,結束繪製循環;清晰,繪製幾何圖形,呈現,結束繪圖循環;等等。所以保留下一個綁定的緩衝區的內容沒有任何好處。一旦它被呈現出來,你將永遠不會再看內容。
在ES 3下,您可以使用glInvalidateFramebuffer
;如果您的GPU和平臺支持它,請使用ES 2下的EXT_discard_framebuffer。
這個猜測假設當您渲染第三個而不是第一個對象時,這意味着更經常地更改綁定。第二個猜測:如果你的附加幀緩衝區是用於渲染到紋理的,而你的第一個是系統爲了將你連接到屏幕而做的任何事情,那麼顯然存在潛在的性能差異,因爲輸出目標可能不是相同的格式。
相關問題
- 1. struts 2標籤導致性能下降
- 2. 由於NotesDocument.closeMIMEEntities()導致性能下降()
- 3. setMinimumLoggingLevel爲詳細導致性能下降
- 4. 什麼可能導致功能導入性能下降?
- 5. C#Entity Framework 4導致性能下降的導航屬性
- 6. 導入「不相關」的dll是否會導致性能下降?
- 7. W3WP.exe - CPU峯值達到100%,然後下降到0%,導致性能下降
- 8. 性能下降
- 9. print()函數導致性能下降的第二個參數
- 10. 帶N個參數的sp_executesql導致性能下降
- 11. 在屏幕外繪製圖像會導致性能下降
- 12. 導致性能下降的神祕線程「net_rim_cldc-2」
- 13. 添加正則化會導致性能下降和更差
- 14. 佈局NestedScrollView與RecyclerView導致性能大幅下降
- 15. 使用大量C代碼塊會導致性能下降嗎?
- 16. 由於關聯導致Rails應用程序性能下降?
- 17. 爲什麼用innerText代替InnerHTML導致> 15X性能下降
- 18. 未渲染的MovieClip幀會導致性能下降嗎?
- 19. MySQL使用文件排序,並導致性能下降
- 20. 媒體查詢是否會導致渲染性能下降?
- 21. 如何判斷導致HTML5 Canvas性能下降的原因?
- 22. 異常處理程序導致任何性能下降?
- 23. Entityframework DbContext的泛型導致性能下降?
- 24. 多線程讀取會導致性能下降嗎?
- 25. 由於數據碎片,varchar會導致性能下降嗎?
- 26. 將stdout重定向到日誌文件導致性能下降
- 27. 使用嵌套的ViewStack會導致我的性能下降嗎?
- 28. 長時間提交會導致nHibernate性能下降
- 29. SQL Server 2008-加入導致性能下降
- 30. 性能下降nppiCopyConstBorder_8u_C1R