簡體   English   中英

應用程序最初啟動時,Android Opengl ES 2延遲

[英]Android Opengl ES 2 Lag when application initially starts

問題是,一旦應用程序啟動,就會有一段時間(並且該時間不一致),該時間似乎會使應用程序滯后。 例如,當導航菜單時,導航動畫將非常不穩定。 但是,這種滯后通常僅持續約2-3秒。 玩家進入游戲后的最初2-3秒內似乎也會出現此問題。

我已經排除了GC造成這種滯后的可能原因,因為在游戲首次加載時以及玩家開始新一輪游戲時,所有內容都已預加載,並且所有內存分配都執行一次。

我正在運行Android 2.2的Archos 43上運行這些測試。 該設備可以處理3d游戲,我嘗試了幾種游戲,但這些游戲都沒有滯后,因此我的代碼肯定有問題。 我在游戲中使用3個線程,其中2個不是我創建的(渲染線程和事件線程),第三個是游戲更新線程。

同樣,這只是一個假設,但感覺游戲似乎只有在必須繪制新紋理(之前未繪制過)時才會滯后,即使該紋理已預先加載了GLES20.glGenTexturesGLES20.glBindTextureGLUtils.texImage2D

如果需要,我可以提供資源。

聽起來您可能在UI線程上做了很多工作,例如加載模型或紋理,而這種工作應該在其他地方完成。 在此處查看android開發人員頁面,以了解如何避免這種情況,尤其是標題“在UI線程中處理昂貴的操作”。 http://developer.android.com/resources/faq/commontasks.html#progressbar

在我當前的項目之一中,渲染一個具有1200ish頂點的茶壺,並且在讀取文件后必須計算每個頂點法線,我將有一個緩慢的應用程序運行幾秒鍾,直到完成所有背景工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM