我已經使用NativeActivity編寫了一個OpenGL ES 2應用程序,它呈現大約6個帶紋理的三角形,您可以使用觸摸輸入進行拖動。該應用渲染速度儘可能快,在渲染之前調用glClear()
和eglSwapBuffers()
。正如預期的那樣,幀頻被限制在大約60 fps的顯示頻率,場景平穩移動。但是,經過一段時間(10至60秒)後,即使幀速率仍然爲60 fps,移動也會開始結束。我正在使用的設備是OnePlus 3.Android OpenGL偶爾口吃
起初我懷疑是罪魁禍首是節電模式,但調查顯示cpus頻率和口吃之間沒有相關性。
雖然我注意到一些有趣的事情,但是當queueBuffer()
執行時間增加時,斷開開始。
這是之前口吃的systrace : 這是systrace 後口吃: 這是從之前之後的過渡期間systrace:
如何停止從口吃應用程序?
很難幫助沒有看到任何代碼...可能是一個垃圾收集問題?你在每個框架中創建了多個對象嗎? –
根本不用,我使用NativeActivity,目前根本不使用Java對象。 – gq3