2013-12-12 77 views
1

我明白在處理fps時,這裏的罪魁禍首可能是一些事情。但是因爲我不能在這裏發佈我的整個比賽,所以我會給你一些要點。使用libgdx和eclipse,以及adk我建立了一個頂級射擊遊戲。我使用所有的3D模型,並且根本沒有精靈。這些模型是中低波利。在桌面上,我得到72和61幀/秒。在我的Android模擬器上(1 + gig ram,atom,gpu等),我得到了34 - 20 fps左右的數據...我已經用mat分析過堆,並沒有看到任何令人擔憂的事情。我也運行這個遊戲,並且承擔了實際上渲染你模型的鱈魚線。有任何想法嗎?Libgdx上的低fps 3d

另外,在我的渲染循環中有這個怪物,shes討厭,但我能做什麼?

for(int x = 0; x < ObjectLibrary.objects.size; x++){ 
      Object obj = ObjectLibrary.objects.get(x); 

      if(obj instanceof CameraContolObject){ 
       CameraContolObject cco = (CameraContolObject) obj; 
       handleCameraContolObject(delta,cco); 
      } 
      else if(obj instanceof GameObjects){ 
       GameObjects gameObject = (GameObjects) obj; 
       handleGameObject(delta, gameObject); 
      } 
      else if(obj instanceof Entity){ 
       Entity entity = (Entity) obj; 
       handleEntity(delta, entity); 
      } 
      else if(obj instanceof Item){ 
       Item item = (Item) obj; 
       handleItemObject(delta, item); 
      } 
      if(obj instanceof Bullet){ 
       Bullet bullet = (Bullet) obj; 
       handleBullet(delta,bullet); 
      } 
      else if(obj instanceof Effect){ 
       Effect effect = (Effect) obj; 
       handleEffectObject(delta, effect); 
      } 
      else if(obj instanceof ModelInstance){ 
       ModelInstance model = (ModelInstance) obj; 
       handleModelInstance(delta, model); 
      } 

} 

在此先感謝。

+0

把它們放在不同的列表中(它們的實際子類)。 – Lestat

+0

這就是我盯着。這產生了較低的幀速率。 –

+2

模擬器有很多奇怪的性能特徵,所以我不會根據它做太多的優化。 –

回答

0

該模擬器有很多奇怪的性能特點,所以我不會做太多的優化基於它。 - P.T.昨天

看起來你是對的錢。根本沒有改變任何代碼,我發送APK文件給幾個隨機的朋友,他們報告他們得到55-61 fps。