PhoneGap游戏、画布和慢速javascript
所以我构建了一个简单的android游戏。我首先构建了一个网络版本来让它工作(),然后将它移动到PhoneGap并使用加速计来控制游戏。唯一的问题(这是一个节目停止的问题)是,结果非常慢(我猜是每秒更新一次,而不是20毫秒) 在没有当前解决方案的情况下,phonegap有多慢?还是我错过了什么黄金子弹 游戏使用easeljs和box2dweb 奇怪的是,它在android chrome上的运行速度似乎合理,但在android的“浏览器”(我记得它是基于firefox的?)和phonegap上运行速度非常慢,后者可能使用相同的html渲染器/js中断器PhoneGap游戏、画布和慢速javascript,javascript,html,performance,google-chrome,cordova,Javascript,Html,Performance,Google Chrome,Cordova,所以我构建了一个简单的android游戏。我首先构建了一个网络版本来让它工作(),然后将它移动到PhoneGap并使用加速计来控制游戏。唯一的问题(这是一个节目停止的问题)是,结果非常慢(我猜是每秒更新一次,而不是20毫秒) 在没有当前解决方案的情况下,phonegap有多慢?还是我错过了什么黄金子弹 游戏使用easeljs和box2dweb 奇怪的是,它在android chrome上的运行速度似乎合理,但在android的“浏览器”(我记得它是基于firefox的?)和phonegap上运行
我尝试过简化游戏,尽可能多地使用
setInterval
而不是accelerator。watchAcceleration
都没有用。渲染或读取加速计是否存在性能问题?也许您可以创建一个演示模式来检查它在没有用户输入的情况下的行为。您必须使用requestAnimationFrame()而不是对FPS使用setInterval(),因为它效率更高
iOS 5+和安卓3+使用硬件加速画布,因此您至少需要这些设备才能获得稳定的性能。iOS 5.0和安卓3.0之前的任何产品都将使用软件渲染的CPU
所以需要记住这一点这是安卓浏览器的问题 请参阅以下答案:
(这是针对Sencha Touch的,但我认为答案的要点是相同的)对不起,我应该说得更清楚。我用
setInterval
而不是watchAcceleration
来启动每一步。