我一直在玩八达通2D,发现没有它,我的游戏运行更快。原因仅仅是因为游戏使用了很多矢量形状,而“直接”模式渲染形状太慢了。使用GPU模式时,FPS从20增加到大约55。
不过有一个小的折衷。使用Starling 2d渲染静态图像(例如BitmapData(Textures))的速度更快。另外,我不必担心我的图形资产是否一直都在进行硬件升级。
因此,我正在寻找适用于iOS的Air的游戏(图形)库,该库可以在GPU渲染模式下工作,并且可以更轻松地管理BitmapData缓存。
有人知道吗?
最佳答案
使用application.xml文件中的<renderMode>mode</renderMode>
创建AIR应用程序时,可以选择4种渲染模式。<renderMode>cpu</renderMode>
或<renderMode>auto</renderMode>
(使用“自动”默认为CPU)
一切都以软件呈现
最容易建立
使用位图缓存可以提高性能<renderMode>gpu</renderMode>
向量和缓存的表面通过硬件渲染
文本和向量可以使用cacheAsBitmapMatrix
有很多限制(在此处http://help.adobe.com/en_US/as3/mobile/WS901d38e593cd1bac-3d719af412b2b394529-8000.html了解更多信息)<renderMode>direct</renderMode>
(又名Stage3D)
GPU加速渲染引擎
比任何其他渲染技术更快
许多有用的框架,例如Starling和Away3D
创建接近本机性能的应用程序
处理Event.ENTER_FRAME中的大多数重复脚本
由您决定。尝试远离繁琐的功能,例如:
位图效果(阴影,光泽,浮雕…)
遮罩(基于向量)
Alpha频道
混合模式(加,乘…)
嵌入式字体(特别是Unicode)
复杂的矢量图稿
据我所知,没有2D矢量库。我建议将向量导出到Sprite工作表。我知道这并不容易扩展,但这是在AIR中开发游戏的受支持方式。
达斯汀