我正在尝试使用Paper.js作为实验创建一个小型的吉他英雄游戏。
这是我的代码的实时且可测试的版本(等待1秒) -
http://codepen.io/anon/pen/GgggwK
我有一个有延迟的数组,例如intervalArray =[200,300,500,100,200]
,我使用该数组来启动一个函数
将光栅图像推入一个组。
共有5个Groups
(5个吉他和弦)动画
使用view.onFrame
,以便position.y
更改指定的内容
dropSpeed
。
因此无论我向那些Groups
推进动画(流动)是什么
画布。
还有5 Circles
以及正在流下的图像/备注
在某些时候重叠圆圈。
如果用户在合适的时间点击该圈子(当注意时) 重叠),他得到了一些分数。
当图像到达画布的末尾时,我正在回收它们,因此我不会有太多的物品来占用内存。
问题是,我期待看到非常非常快的表现。
我正在使用光栅图像,它应该非常快速地渲染 与矢量相比,我正在回收图像并使用少量图像 Canvas上的额外项目,但仍然在我正在使用的移动浏览器上 一些严重的性能问题。
即使在我的iMac上,我也希望看到以全帧速率运行 - requestAnimationFrame
(这是view.onFrame
内部使用的)允许的60fps,但有时候帧速率也会变化。
我已对此进行了测试:
Galaxy S3,股票和Chrome浏览器(动画时在某些点滞后,帧速率每35帧冻结5,6帧)。
谷歌Nexus 5,股票和Chrome浏览器(以某种方式更好地工作,冻结5,7帧并继续)
iPhone 4 Safari浏览器(非常缓慢)
iMac 2011,8GB内存,Core2 Duo处理器(相当好的帧率,有时变化)