最近我在整理以前的as2代码的时候,发现了要是把as2的改成as3之后,性能并不是让我很满意,as3很完整,很程序化,不过在一些性能方面,如果你没有及时释放掉内存,可能会跑的比as2来编写的还慢,很奇怪吧。不过在Flash Player 10推出之后,有一个对性能极大有帮助的命令很重要,就是:Vector,感兴趣的,可以打开帮助文档好好看看,不过我今天并不是要讲这个。
我也是刚看到Armand Niculescu 的AS3 Performance Optimization的这篇文章,才随机写写。在我之前有篇文章写过对于全选数组的方法,怎么样才是最好。同时我顺便把他的文章,重要的一些方式提出来,放在自己的BLOG,同时也是给自己做个资料备份。
我个人认为,一款程序的性能高与低,完全是在于程序员的写代码的方法,虽然我提倡的很自由的代码写作方法,不过,在需要耗费大量CPU性能的地方,还是需要按照严格的:命令的规范,变量定义的规范等等。
- AS3 优化
我要留言To Comment 阅读全文Read All | 回复Comments() 点击Count()
- FLASH CS3 接收amfphp返回的数据集
PHP代码(PHP代码是完成从数据库调用一个收藏夹的信息,可以调用信息,可以加入信息,PHP代码是用的iceworks1983的)
php
class Favorite{
private $dbhost = localhost; 数据库地址
private $dbname = favorite; 数据库名称
private $dbuser = root; 数据库用户名
private $dbpass = ; 数据库密码
private $conn; 数据库连
function Favorite(){
$this-conn = mysql_connect($this-dbhost, $this-dbuser, $this-dbpass);
mysql_select_db($this
我要留言To Comment 阅读全文Read All | 回复Comments() 点击Count()
- as3声明舞台元素为类变量
Flash CS3 再这样声明会报错:“A conflict exists with definition a in namespace internal.” 解决方法:
- 取消文档属性
Publish: Settings… -> ActionScrpt -> ActionScript3 中的 Automatically declare stage instances - 将同名属性声明为 public
我要留言To Comment 阅读全文Read All | 回复Comments() 点击Count()
- AS3.0中的类反射
获取类名: 传进一个object,返回类的全名
var loader:URLLoader = new URLLoader( );
var className:String = getQualifiedClassName(loader);
trace(className); // Displays flash.net.URLLoader
获取父类的类名:传进一个object,返回父类的类名
var loader:URLLoader = new URLLoader( );
var className:String = getQualifiedSuperclassName(loader);
trace(className); // Displays flash.events.EventDispatcher
根据类名取类
var classReference:Class = Class(getDefinitionByName(”flash.net.URLLoader”));
//一但你得到了类的引用后,就可以这样
var instance:Object = new classReference( );
getQualifiedClassName( ) 或 getQualifiedSuperclassName( ) 与 getDefinitionByName() 结合使用的例子:
var loader:URLLoader = new URLLoader( );
var className:String = getQualifiedClassName(loader);
var classReferenc
我要留言To Comment 阅读全文Read All | 回复Comments() 点击Count()
- as3数据存取方式效率比较
通常我们存取数据有如下几种方式:Array, Object, 自定义类, 比较特殊的还有 Point, Rectangle 等。效率依次为(后面的数字是100万次存取运算平均所需时间):
- 自定义类public属性135 | Point140 | Rectangle(x等属性)140
- Array270
- Object500 | 自定义动态类动态属性550
- Rectangle(left等属性)700
- 自定义类getter/setter1000 | 自定义类Function1000
出乎意料,最快的是自定类的public属性,速度是Array的两倍Object的四倍getter/setter的八倍——很整的倍数关系。另外存取坐标要用Point和Rectangle,比Array快的多。Object还是少用吧,多用自定义类。
另外自定义密封类(sealed,默认)和自定义动态类(dynamic)的public属性、getter/setter速度几乎一样,而动态类动态添加的属性和Object相若。