优化 AS3 代码提高性能

原文:Learn to Optimise your AS3 Code for Speed and Performance
作者:Michael James Williams
翻译:dreamana.com

※译者注:这是一篇关于程序优化的通俗易懂的文章,简明扼要。

“优化”是指使你的代码更有效率。通常你会优化它的速度 ——不是使游戏玩得更快,但要使游戏运行得流畅不卡。

(如果你的 SWF 比你想象中的几 MB 大,你可能想优化它的大小,但是这是另一个话题需要另外再讨论。)

各种各样的技巧去实现优化归结成一条原则就是:

Don’t make Flash do more work than it needs to 不要让 Flash 做超过它需要做的工作。

让 ByteArray 更快

原文:Making ByteArray faster
作者:Romil Mittal
翻译:dreamana.com

FlasCC (之前叫 Alchemy) 生成的 ActionScript 字节码 (简称 .abc) 比起用 ActionScript 编译器实现的性能更好。除了因为用了更好的数据类型和指令之外,背后的一个主要原因是 FlasCC 使用了 domain memory,使其在内存缓冲区中读写速度更快。Flash 与 AIR Runtime 已经支持这些特殊的内存操作码去使用 domain memory 提高内存访问速度。

从 AIR 3.6 开始,ActionScript 编译器 2.0 (ASC2) 能够直接从 AS3 代码编译出这些快速内存操作码了(之前只能通过 FlasCC 实现)。

追求速度的渲染

看了下 Lee 的 FOTB 演讲幻灯片 - Render for Speed,这个演讲涵盖了业界 Flash 开发者所采用的大部分渲染技术。因为我没有听到他的演讲,只好适当地补充说明(蓝字部分)

原文:Render for Speed
作者:Lee Brimelow
翻译及整理:dreamana.com

  • 传统的渲染 (Traditional rendering)
  • 位块传输技术 (Blitting)
  • 全局位块传输 (Full stage blitting)
  • 局部位块传输 (Partical blitting)
  • 脏位块传输 (Dirty blitting)
  • 位图骨架 (Bitmap armatures)
  • 影片剪辑缓存 (MovieClip caching)
  • 移动设备渲染 (Mobile rendering)
  • Stage3D
  • 新 2D 框架

优化,优化

Tags