[英]Bad performance using VBO with OpenGL ES in Android
我正在制作一個Android應用程序,需要使用OpenGL ES繪制一些形狀。 我能夠渲染它們,但是我對性能感到失望。 我更新了代碼以使用VBO,但沒有發現任何改進。 我想以每秒60幀的速度渲染(每幀16毫秒)。
我有一個測試項目,在屏幕上渲染了幾個三角形。 當我渲染1000個三角形時,每幀大約需要20毫秒 (取決於設備)。
我想將渲染時間保持在10毫秒以內,因為我需要剩下的時間( 6毫秒 )來執行其他計算(例如更新位置,檢測碰撞等)。
這是我渲染三角形的代碼:
https://github.com/mauriciotogneri/test/blob/master/src/com/testopengl/Polygon.java#L51-66
這是遍歷三角形的代碼:
https://github.com/mauriciotogneri/test/blob/master/src/com/testopengl/MapRenderer.java#L117-139
(更改NUMBER_OF_TRIANGLES的值以顯示更多三角形)
據我了解,如果我需要每幀調用1000次(每個三角形一個) ,則GLES20.glDrawArrays(...)方法會花費太多時間。
有沒有其他方法可以渲染幾個不需要太多的多邊形?
筆記:
將您的位置/顏色/法線...放在一個VBO對象中,並在一個調用中繪制它們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.