我想在Android上構建一個OpenGL ES 2.0渲染系統。 我有一個FloatBuffer,我把所有的頂點數據。目前,我只是分配大量的字節,並忽略繪圖調用,如果他們將溢出緩衝區的大小。 有沒有辦法動態調整緩衝區大小?如果我在每次渲染之後釋放緩衝區並重新分配緩衝區,我想這會很慢。Android OpenGL動態調整大小FloatBuffer?
2
A
回答
1
有沒有辦法來動態調整緩衝區?
編號您目前的方法看起來不錯。您可能需要擴展它,如果數據不適合當前緩衝區,則創建一個新的更大的數據並填充新數據。
不幸的是,OpenGL-ES沒有函數as OpenGL-3 does它允許您在緩衝區對象之間複製數據。使用它可以在完全停留在GPU內存的BO之間進行復制,因此您只需更新缺少的部分。
如果我只是釋放緩衝區並在每次渲染後重新分配緩衝區,我想這會很慢。
它肯定不會提高性能,沒錯。根據您的實際實施情況,它可能會對性能產生巨大影響,這是正確的。所以我建議不要這樣做。
2
我其實還在學習高性能OpenGL渲染的過程中,但切換到頂點緩衝區對象通常會允許儘可能高的執行時間。最後你必須嘗試並測試。
這裏進一步閱讀一些消息來源:
Android Lesson Seven: An Introduction to Vertex Buffer Objects (VBOs)
這是罰款時,沒有大量的數據傳輸,但作爲我們 場景得到更多的對象更加複雜和三角形,這可能會增加CPU和內存使用的額外成本。我們能做些什麼 這個?我們可以使用頂點緩衝對象。而不是每幀傳輸來自客戶端內存的頂點信息,信息將被傳輸一次,然後將從此圖形 內存緩存完成渲染。
相關問題
- 1. Android - OpenGL FloatBuffer vs IntBuffer
- 2. FloatBuffer Android中的OpenGL
- 3. 動態調整大小片段android
- 4. Android動態調整大小的容器
- 5. Android上的OpenGL調整大小/拉伸
- 6. Flash動態調整大小
- 7. Bootstrap動態調整大小
- 8. iFrame動態調整大小
- 9. TabLayoutPanel動態調整大小?
- 10. $ .dialogue()動態調整大小
- 11. SVG動態調整大小
- 12. Opengl 2d調整大小
- 13. Android活動調整大小
- 14. Android - 自動調整大小
- 15. 動態調整動態iframe的大小
- 16. ImageView根據android中的圖像大小動態調整大小
- 17. 動態調整UILabel的內容大小
- 18. 調用opengl函數調整大小
- 19. 獲取模態以在窗口大小調整時動態調整大小
- 20. Phonegap&Javascript - Div的動態調整大小
- 21. JavaFX 2窗格動態調整大小
- 22. 動態調整圖像大小。
- 23. SSRS動態列大小調整
- 24. 統一調整大小下拉動態
- 25. C++調整動態數組大小
- 26. C#DataViusalization圖動態調整大小
- 27. 調整動態數組的大小
- 28. 動態調整iframe的大小
- 29. CSS圖像動態調整大小
- 30. 動態圖像大小調整
謝謝你的鏈接,但他們沒有太多的解決我的問題。 :/ – chimitos