2011-05-25 87 views
0

過去幾個月我一直在爲Android開發一款遊戲,而且它剛剛完成。爲了測試目的,我最近購買了摩托羅拉Droid,因爲我使用HTC Incredible開發了遊戲。在我難以置信的遊戲中,我可以得到非常穩定的59 fps。在Droid上,遊戲變得非常波濤洶涌,平均約爲40 fps。這兩款手機都運行Android 2.2。Android Canvas在Droid上表現糟糕

我擡頭看了一下技術規格這裏是我注意到的唯一可能影響遊戲性的區別:1GHz處理器vs 550MHz和512MB RAM與256MB RAM。

只是爲了笑笑,我想我會把遊戲剝離到一個非常小的狀態,看看我的編碼是否應該受到指責。我把它剝離下來,唯一不足的是繪製主菜單並在屏幕上移動各種位圖。不超過45 fps的頭髮。

那麼,這是摩托羅拉Droid的大致上限?如果是這樣......我的遊戲非常簡單,並且不佔用CPU,那麼我該怎麼辦?有成千上萬的其他Android遊戲比我的遊戲要求更高,但它們似乎運行得非常順利。

這是事實,我使用Android的內置畫布,而不是Open-GL或其他替代方案?有人會推薦這麼做嗎?

有人能告訴我可能是我的問題嗎?

在此先感謝。

回答

0

OpenGL ES是要走的路。無論如何,畫布最有可能在OpenGL ES之上實現,並且它的聲音效果不是很好。

+0

我得看看我的下一場比賽。你對AndEngine有什麼看法?但就目前而言...我可能花了超過100個小時在這個應用程序,所以只是把它扔出窗外不是一個選擇。除了完全重新開始之外還有其他選擇嗎? – 2011-05-25 22:41:20

+2

Canvas僅在Android 3.0之前提供軟件。 – adamp 2011-05-25 22:56:34

+0

@adamp那麼這是否意味着Canvas不能像OpenGL那樣直接訪問硬件?因此,它不那麼快/強大的原因? – 2011-05-25 23:03:17

0

40fps非常好,人眼只能在幀率低於25fps時檢測到晃動。超過15fps的任何內容都被視爲「全動」。

如果你可以看到抖動,那麼它可能是遊戲暫停,而垃圾收集器踢 - 你可以通過減少你創建的對象的數量來減少這種情況,你應該能夠通過使用ddms看到它發生的事情。

除此之外,也許有一個小故障計算幀率?