2013-04-10 111 views
6

所以我建立了我希望成为一个简单的Android游戏。我首先构建了一个Web版本以使其工作(http://scolvin.com/ballgame),然后将其移至PhoneGap并使用加速计来控制游戏。唯一的问题(这是一个停止演出的问题)是,结果是可怕的慢(更新我猜想每秒钟一次,而不是20ms是)。PhoneGap游戏,画布和缓慢的JavaScript

这是多么慢的phonegap,没有当前的解决方案?还是有一些我失踪的金色子弹?

游戏使用easeljs和box2d-web。

奇怪的是,它似乎以合理的速度在android chrome上运行,但是在android的“浏览器”(我似乎记得基于firefox?)和phonegap中使用相同的html渲染器/ js中断者。

我试过简化游戏,尽我所能摆脱,使用setInterval而不是accelerometer.watchAcceleration都无济于事。

回答

1

渲染或读取加速度计时出现性能问题?也许你可以创建一个演示模式来检查它在没有用户输入的情况下的行为。

+0

对不起,我应该已经更清楚了。我这样做,使用'setInterval'而不是'watchAcceleration'来启动每一步。 – SColvin 2013-04-10 12:54:53

2

而不是使用的setInterval()为FPS的事情,你必须使用requestAnimationFrame()这是更有效的

iOS 5以上版本和Android 3+使用硬件加速的画布,所以您需要为atleast这些设备稳固的表现。在iOS 5.0和Android 3.0之前的任何事情都会使用软件渲染的CPU。

所以需要记住这一点