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

原文链接: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是支持各种图形转换效果的,因此还是可以善加利用的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值