ActionScript 3.0 性能优化小知识

所属分类: 媒体动画 / Flash教程 阅读数: 43
收藏 0 赞 0 分享
1、改进算法
无论对于那一种程序,好的算法总是非常重要的,而且能够极大地提高程序性能,所以任何性能的优化第一步就是从算法或者说程序逻辑的优化开始,检查自己的程序是否有多余的运算,是否在没有必要的时候做了无用功,往往从这些方面就能找到那些导致性能低下的地方。

2、优化细节代码
针对细节总是好的,有一些小技巧比如:
用 var obj:Object = {}; 要比 var obj:Object = new Object();要好;
var arr:Array = []; 要比 var arr:Array = new Array(); 要好;
for (var i:int=0, len=arr.length; i
如果不是为了保存颜色值请不要适用uint这个类型,他的速度比起 int要慢多了;
Array的遍历要比Object或者Dictionary的枚举要快得多。
if (myObj != null) 要比 if (myObj) 的速度要慢(更正, 之前把结果看反了,对不起大家~), for (var i:* in myObj) 比 for (var i:String in myObj) 要快;
Dictionary当 weak key设置为 true 的时候要比 false 慢;
var myText:String = “a” + “b” + “c”;
var myText2:String = [ "a", "b", "c" ].join(“”);
在JavaScript里面在IE下后者要更快,但是在AS里面,前者更快!
在循环体内声明变量和在循环体外声明变量其实速度上不会有太大的区别。

3、权衡程序的结构
程序的架构也非常重要,良好的结构会带来性能和程序健壮性的提升,但是有的时候又是相互矛盾的,例如代码写得过于健壮,反而会影响性能,这个地方需要开发者自己去权衡。

4、小心Flash的重绘
如果你使用的是Flash Player 的Debugger版本,那么请在检查性能瓶颈的时候不要忘记打开显示重绘区域的功能,这将帮你迅速定位到舞台上有那些地方被重绘了,找出没有显示任何东 西却不断重绘的地方,这些地方肯定是有问题的。Flash Player很笨,不会说你把一个DisplayObject的visible设置成false就放弃重绘那个显示对象。所以请保证你的 MovieClip在visible=false的时候为停止状态。有一点很有意思,假设两个现实物体存在 hitTest = true 这样的关系,那么重绘的区域的面积很有可能 > 两者的面积总和!

5、以空间换时间
听起来挺虚,实则很简单,说白了就是以内存换CPU,例如将不变动的值进行保存,免去下次需要此数据的时候进行再次计算,虽然原理很简单,但是有的时候却很容易疏忽掉,而这个往往就造成你的算法效率低下的问题。

6、记得销毁你的对象
对于非常驻的对象使用完之后记得消除其引用,防止出现内存溢出的问题,往往要做到这一点需要有一个良好的编程习惯。

7、清除冗余的代码
有些代码可能你的程序一辈子也不会执行到,请把这些没有用的代码或者对象清理掉,否则内存会被偷偷的蚕食掉。

8、小心使用useBitmapCache = true
一般情况下除非你确定这个显示对象不可能发生变化那么用用也无妨,不过我更推荐自己手动的用BitmapData将该对象Draw一遍,然后让这个对象彻底消失。否则每次的变动都是巨大的性能消耗。
更多精彩内容其他人还在看

Flash cs3绘制人物高级行走动画教程

本教程向大家介绍Flash cs3绘制人物高级行走动画效果,教程难度不是很大,绘制方法及过程介绍的也非常详细,教程很实用,转发过来,希望大家喜欢
收藏 0 赞 0 分享

Flash CS4来制作漂亮的气泡动画教程

本教程向脚本之家的朋友介绍用Flash CS4来制作漂亮的气泡动画,制作出来气泡真的很好看,制作效果是采用代码形式实现,觉得很不错,转发过来,感兴趣的朋友可以一起来学习
收藏 0 赞 0 分享

flash基础教程:帧、关键帧、空白帧概念及区别介绍

动画的产生是帧来实现的,那什么是帧?帧、关键帧和空白帧之间又有什么区别?本文就为大家介绍一下三者之间的关系
收藏 0 赞 0 分享

Flash教程:动画背景的绘制方法之透视篇(给新手)

Flash动画在网络上的广泛传播,已经成为上网一族喜闻乐见的一种艺术形式。动画背景的绘制方法有很多,也有很多表现方法。这里将结合透视学的基础知识向大家简单的介绍一下动画背景的绘制。
收藏 0 赞 0 分享

Flash AS入门教程:Flash AS3.0制作有年份有日期的时钟

本教程是向大家介绍利用Flash AS3.0制作有年份有日期的时钟,虽然制作时钟老套了点,但它确可以较全面地应用到时间日期和间隔等知识,仍不失为较好的入门练习,转发给大家,希望对大家有所帮助
收藏 0 赞 0 分享

Flash相册制作大师具体该如何使用 Flash相册制作大师使用教程

在本文中我们将会看到的是Flash相册制作大师的具体使用的方法
收藏 0 赞 0 分享

flash基础教程:混色器面板图文介绍

混色器面板是Flash中用于色彩处理的一个重要面板,熟练地使用该面板,可以帮助用户快速地完成色彩的填充,编辑出色彩丰富的图形。本教程为大家详细介绍一下混色器面板,希望对大家有所帮助
收藏 0 赞 0 分享

25个绝对让你应接不暇的Flash网站创意

在Web设计过程中,运用成熟的Flash技术可以把你任意想到的idea表现到产品页面中。这里为你整理发现了25个绝对让你应接不暇的 Flash网站创意,更好地体现网站的互动应用,同时可以让你大饱眼福,一起来欣赏吧
收藏 0 赞 0 分享

教你用Flash制作非常酷的二进制时钟动画

今天在这个教程中我们将学习用Flash做一个不同寻常的,但非常酷的时钟:一个二进制时钟,中间用到了代码,但介绍地很详细,相信很值得大家学习
收藏 0 赞 0 分享

Flash动画特效制作技巧:制作超酷的文字炸开动画效果

本教程向大家介绍Flash动画特效制作技巧,本实例是制作文字炸开的动画效果,制作效果非常酷,制作过程也比较简单,喜欢的朋友可以过来学习一下这种制作方法
收藏 0 赞 0 分享
查看更多