GUIMark3 – 针对移动设备的HTML5 Canvas性能测试套件介绍

GUIMark3是针对移动设备的HTML5 Canvas性能测试套件,它设计了几种不同的场景,针对不同方面进行测试。所有的Demo都同样由一个60帧/秒的Timer来驱动绘制,所以理论上的最大帧率是60(实际上在不同的浏览器实现上可能会略有不同,在60上下浮动1~2帧),一般来说,超过50帧以上,考虑到误差的原因,个位数的参考意义已经不是很大,达到30帧以上的流畅度对于使用者来说已经基本可以接受了。测试里面Canvas都是固定大小的,在不同的设备上会根据屏幕的大小进行拉伸,但是Canvas本身的大小保持不变。

GM3 Bitmap (Canvas大小:480×640)

位图测试,主要测试Canvas贴图的性能,位图的绘制只是很单纯的1:1贴图,包括绘制地面背景,飞机,子弹和云朵,没有任何旋转和缩放,只有少量的半透明混合。应该说大部分针对移动设备的Canvas游戏最多的操作就是贴图,所以这个测试的结果对它们来说参考价值较大。GM3 Bitmap测试还有一个变种GM3 Bitmap Cache,它将地面,飞机,子弹,云朵等图片先分别绘制在不同的离屏Canvas上面,然后绘制这些Canvas而不是直接绘制图片,实际上这种方式对浏览器来说一般反而会更慢,消耗更多的内存。
 gm3_bitmap

GM3 Compute (Canvas大小:480×480)

这个测试实际上更多是在测试JS引擎本身的性能,它先通过一个物理模拟引擎计算出一束点,然后在这些点的位置上画上一条短线,因为更多的时间是耗费在物理模拟计算上面,对Canvas性能测试反而参考价值不大,除非你的Canvas游戏类似Cut the Rope或者Angry Bird一样,也需要大量的物理模拟计算。
 gm3_compute

GM3 Vector (Canvas大小:480×640)

这是一个针对Canvas矢量绘图的测试,需要对很多环形的路径进行渐变填充。一般来说矢量绘图较少会被使用,因为它比位图贴图要慢很多,不过你的Canvas游戏需要大量使用矢量绘图的话,这个测试的结果就比较有参考价值。
gm3_vector

更多的信息请参考作者的文章:http://www.craftymind.com/guimark3/
Advertisements