游戏地址http://06wjin.sinaapp.com/html5/shoot/
主要的性能消耗在绘图上,以下为影响因素,来自northwind_x的博客:
a. 影响最大的为刷新频率,这也是显而易见。
b. putImageData比drawImage效率高很多。putImageData是把一块区域的像素集直接放到画布上,会替换到画布原有图像,但是效率极高。
c. 每次更新时clearRect会很耗资源,但把ff缩小时,消耗就很少了,clearRect主要是耗显卡导致cpu上升了。最好能区域更新
d. 多个画布叠加时,即使每个画布工作量很少,叠加数量在3个以上时,cpu占用率就会大幅提升,估计是在浏览器处理时还是需要做canvas的像素操作。
e. 在canvas上放有背景色的div层,对效率影响不大,就是说如果有可能就用静态HTML做
f. 画同样数量的Image时,虽然画出的尺寸一样大,但是图片较小的占用资源较少
g. drawImage时,画bmp要比png占用cpu小很多,不需要考虑透明度。
h. putImageData时,bmp和png占用内存基本一样多。
i. putImageData时,隐藏与显示画布占用资源基本一样多。
评论