NME中不同渲染方式的性能测试
来源:互联网 发布:漂亮妈妈 知乎 编辑:程序博客网 时间:2024/05/17 09:20
原文链接: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是支持各种图形转换效果的,因此还是可以善加利用的。
- NME中不同渲染方式的性能测试
- cpu数组不同的访问方式的性能测试
- 不同的几何图形的渲染方式
- 【转载】NME不同平台上读写文件的处理
- 不同阶段的性能测试
- android性能测试中各种数据的获取方式
- Qt Scene Graph渲染方式在不同系统的差异
- 在disksim-3.0中安装flashsim,并测试不同FTL算法在不同trace下的性能
- NME的GLSL支持情况
- ASP.net中TextBoxLabel等控件渲染的不同状态
- 不同应用领域的性能测试的性能测试目标和性能目标
- 多次渲染不同的物体
- 不同视角的软件性能以及测试的基本概念
- PHP不同版本性能测试
- 不同javascript加载方式对页面性能的影响
- Java HashMap遍历实践,看看不同方式的性能如何
- IO---Java 不同读写方式的IO性能
- 性能测试学习方式
- Java企业级应用软件开发
- Mac下Android开发环境搭建
- VBA操作文件四大方法之二-VBA文件处理语句
- C#反射机制介绍
- 采用SharedPreferences偏好参数保存
- NME中不同渲染方式的性能测试
- 黑马程序员_java多线程学习笔记
- 此身, 此时, 此地
- HDOJ2042 不容易系列之二
- usaco --fence6
- Oracle学习篇之Oracle 的用户管理
- 删除磁盘符
- 数据结构利器之私房STL(下)
- 本博客重新开张了!