您的位置:首页 > 其它

NME中不同渲染方式的性能测试

2012-12-08 23:17 288 查看
原文链接:http://www.joshuagranick.com/blog/2012/10/04/nme-rendering-methods-benchmarked/

作者的测试是在一台Mac pro笔记本上分别分别针对本地目标和flash目标进行测试。

其分数是在稳定的60帧/秒速率下,同屏显示的精灵(bunnies)数量,数量越多性能越好。

本地目标采用GPU加速,而Flash则是软件渲染。对于Flash使用Stage3D进行硬件加速的测试,原文中也给出了一个链接:http://esdot.ca/site/2012/runnermark-scores-july-18-2012,从此文的分析,可以看出在绝大多数平台上,NME依然大比例胜出。

下面是测试结果:

本地目标(也就是cpp/mac)

35000 bunnies using drawTiles

10750 bunnies using drawTriangles (no alpha)

9250 bunnies using drawRect (no alpha, scale or rotation)

1750 bunnies using Bitmap

1750 bunnies using drawTiles (without batching)

700 bunnies using copyPixels (no alpha, scale or rotation)

Flash

11750 using copyPixels (no alpha, scale or rotation)

900 using Bitmap

900 using drawTriangles (no alpha)

100 using drawRect (no alpha, scale or rotation)

那么结论就是:

* 本地渲染方法中,毫无疑问最牛的就是NME独有的drawTiles方法,这个是经过硬件加速的。

* 另外的好消息是,drawTriangles和drawRect的本地运行速度也很不错,这样给我们带来更多的灵活性和兼容性,尤其是drawTriangles很多时候可以用来实现drawTiles无能为力的图形特效。

* 在基于软件渲染的Flash平台中,copyPixels是飞快的,不过copyPixels不能实现任何转换效果,应用场景很受限制。而在本地,则恰恰相反,copyPixels最慢,我想这是因为在本地copyPixels不能利用图形硬件加速,是纯cpu完成的,而其它几个方法在底层都是经过GPU加速的。

* Bitmap(也就是flash.display.Bitmap类)在两个平台的性能表现都居于中游,而且Bitmap是支持各种图形转换效果的,因此还是可以善加利用的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: