我正在爲簡單的2D遊戲編寫一款遊戲內編輯器,其中網格動態創建和移除的頻率很高。我正在使用libgdx經過一段時間,glGenBuffers非常緩慢
一切正常,除了編輯器變慢。它對輸入事件的反應很晚。
爲了找到我的代碼中的弱點(在所有的atm都沒有優化),我運行了jprofiler並對CPU進行了剖析。事實證明,這個glGenBuffers花了2秒爲14個調用!這是7個網格,每個都有一個頂點和索引緩衝區。其實,我有一個相當快的機器(i7-4790T,GTX980m,16GB ...),所以這不應該成爲這裏的問題。
我只是想知道這是如何可能,因爲我不知道。
您是否刪除了不再使用的緩衝區?只是基於症狀,可能是內存泄漏。你可以看看你的應用程序的整體內存使用情況,看看它是否在增加? –
只是想說緩衝區可能會保存在顯卡的內存中,所以你可能無法看到你的內存使用量增加。否則,您應該通過調用'glDeleteBuffers'來清理緩衝區。 – vesan