`
- 浏览:
26289 次
-
(1)数据存储方式的选择
使用如下几种存取数据方式进行存取100万次运算,所花时间依次为(单位为毫秒,ms):如下几种存取数据方式100万次存取运算效率依次为: 类定义中的属性(如public、private类属性) 135 毫秒
1. Point类对象 140毫秒
2. Rectangle类对象(x等属性) 140ms
3. Array类对象 270ms
4. Object类对象 500 ms
5. 动态类动态属性 550ms
6. Rectangle类对象(left等属性) 700ms
7. 自定义类getter/setter 1000ms
8. 自定义类Function 1000ms
最快的是第一类,速度是Array的两倍,Object的四倍,getter/setter的约八倍。存取坐标要用Point和Rectangle,比Array快的多。 Object和动态类效率较低,一般情况下请尽量使用密封类。
(2)场景中的MovieClip或Sprite在清除之前一定要用removeEventListener把上面所有的事件清除掉,这样系统才会gc掉。
(3)使用cacheAsBitmap进行位图缓存,对图形颜色多,元素多的加快CPU的处理速度。
(4)位图在运算速度上很快,但是在尺寸上变得很大,而矢量图虽然尺寸很小,但是在图形渲染上很占CPU资源,所以要选择尽量色差小,颜色简单的图形用矢量来做。大量复杂的图形可用位图代替。
(5)资源的压缩,矢量图中线段数量也决定了图形渲染的快慢。可以采用flash软件自带的修改->形状->优化,减少图形中的线条的数量。
(6)尽量采用低级运算和内部方法
用unit()或int()代替取整运算Math.floor()和Math.ceil()。
比如var test:uint = uint(1.5);要比var test:Number = Math.floor(1.5);快;
而var test:uint = uint(1.5)+1;要比var test:Number = Math.ceil(1.5);也快。
如果是Math.floor(),还可以用位运算(>>0)来代替。
比如var test:uint =1.5>>0,比unit()或int()更快。用乘-1来代替Math.abs()方法。比如var nn:Number = -23;var test:Number= nn < 0 ? nn * -1 : nn;要比var nn:Number = -23;var test:Number = Math.abs(nn);快。当然还有更多的优化计算的方法。一般来说,低级运算要比高级运算速度;内部方法比调用其他方法速度快。
(7)在各种重要的代码优化手段中,有这么一条:在定义局部变量的时候,一定要用关键字var来定义,因为在Flash播放器中,局部变量的运行速度更快,而且在他们的作用域外是不占用系统资源的。
(8)在编写游戏时尽量不要把帧频设得太高,太高的帧频会导致CPU计算量加大。
(9)我们常用的关键字:for in 可以代替其它的循环语句。
(10)不要过多使用 Object 类型。数据类型注释应力求精确,这样可以提高性能。只有在没有适当的备选数据类型时,才使用 Object 类型。同时也便于代码管理,时刻知道对象的类型和作用。同时也有利于编译器编译时优化 (11)对于类型是MovieClip等需要绘图的对像,能重复用的就重复用,比如删除一个对像后如果重新使用它,先判断if(mc == null)存不存在,存在就不再给它赋一个新的对像了。
(12):善用对像池功能,在制作大型游戏时,往往会用到很多一模一样的影片剪辑,把从场景中删除的对像放入对像池中,当需要用到对像时,可以从池中直接创建新的对像来保证内存的占用。
(13)Lib注册机制,在制作大型的游戏时,往往是多人分工,一个游戏维护起来也相当复杂,这时可以采用Lib文件的注册方式添加游戏的事件管理。统一由一个时间片,或一个侦听池管理。减少了游戏运行时的负担,也起到了多人维护的作用。
(14)使 ActionScript 尽量简单。
限制使用的循环数和每个循环包含的代码数。
关闭trace。运行期间不断打印会影响速度。
在AS中尽量不用或少用除法运算符。如果可能的话,用乘法代替除法,比如:
var b = a / 4;用下面的乘法运算来替代:var b = a * 0.25;
尽量避免字符串和数组处理过长的数据,因为这会非常消耗 CPU。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
优化 ADOBE® FLASH® 平台的性能
关于flash性能优化的ppt,希望能够对flash开发和测试人员有帮助
随着 Adobe® Flash® Player 10.1 的发布,开发人员可以在移动设备和桌面上使用相同的 Flash Player。本文档通过代码示例 和使用案例,为开发人员概括介绍了在移动设备上部署应用程序的最佳做法。主题包括: • ...
flash开发性能是很关键的一点 这个文档就是针对这个性能方面的全面分析
随着 Adobe® Flash® Player 10.1 的发布,开发人员可以在移动设备和桌面上使用相同的 Flash Player。本文档通过代码示例 和使用案例,为开发人员概括介绍了在移动设备上部署应用程序的最佳做法。主题包括: • ...
本书介绍了使用Flash CS5和Flash Builder for Android and iOS应用开发所有类型的移动应用程序。...最后,因为移动设备的处理能力远远低于桌面设备,所以还将学习如何优化应用程序以提供用户所需要的性能水平。
flash/air 在移动开发时 内存 渲染等都会影响性能 文档图文并茂的介绍了影响性能的各个方面 通俗易懂 适合入门
包括flashbuilder 4官方教程(中文) flex 4.5手机应用开发 flex4组件开发 flex 代码规范 flex教程 flex中的css样式 flex开发手机程序 flex4界面设计实战 flex4开发ria应用程序 flash内存性能优化
F-CMS Flash网站管理系统[Flash CMS]是由伊缘网络工作室开发的一套全智能Flash网站内容管理系统。是目前国内第一套拥有会员系统、商城系统、可自助安装Flash网站模板的Flash网站管理系统[Flash CMS]。 可用于各种...
第10 章 走向高大上的必经之路——简单的性能优化 / 160 第11 章 让主角不再死板 / 173 第12 章 动态的背景 / 188 第13 章 界面的文字有点丑 / 204 第14 章 超炫的效果——粒子系统 / 211 第15 章 尝试做一个更...
重点关注网页的行为特征,阐释优化Ajax、CSS、JavaScript、Flash和图片处理等要素的技术,全面涵盖浏览器端性能问题的方方面面。在《高性能网站建设指南》中,作者给出了14条具体的优化原则,每一条原则都配以范例...
重点关注网页的行为特征,阐释优化Ajax、CSS、JavaScript、Flash和图片处理等要素的技术,全面涵盖浏览器端性能问题的方方面面。在《高性能网站建设指南》中,作者给出了14条具体的优化原则,每一条原则都配以范例...
Egret框架内的JavaScript类库,具备卓越的游戏渲染性能,相对于其他HTML5游戏框架,Egret深度优化了显示对象列表处理机制,提供 了强大的位图CacheBuffer处理功能。在未来的正式版本中,Egret还将加入所有的渲染内容...
Ocelot优化器简介Ocelot优化器是一个用于自动优化加速器性能的平台。 这是一个开源项目,由 , , 物理学家开发。用例优化器用于许多不同类型的优化。 FEL设施: 通过以下方式最大化FEL脉冲能量: 移相器(EuXFEL) ...
《高性能网站建设指南》一书介绍了如何针对网站中的Ajax、CSS、JavaScript、Flash和图片进行性能优化。每个性能规则都提供了示例,在本书的配套网站上可以找到代码片段。这些规则包括: •减少HTTP请求 •使用...
重点关注网页的行为特征,阐释优化Ajax、CSS、JavaScript、Flash和图片处理等要素的技术,全面涵盖浏览器端性能问题的方方面面。在本书中,作者给出了14条具体的优化原则,每一条原则都配以范例佐证,并提供了在线...
最后重点探讨Flex应用性能优化等方面的高级知识。值得一提的是,本书公开了作者努力开发出来的、经实际项目检验过的Flex企业应用框架的源代码,具有非常高的参考价值。 本书对Flex的基础知识着墨不多,所有内容都...
重点关注网页的行为特征,阐释优化Ajax、CSS、JavaScript、Flash和图片处理等要素的技术,全面涵盖浏览器端性能问题的方方面面。在《高性能网站建设指南》中,作者给出了14条具体的优化原则,每一条原则都配以范例...
重点关注网页的行为特征,阐释优化Ajax、CSS、JavaScript、Flash和图片处理等要素的技术,全面涵盖浏览器端性能问题的方方面面。在《高性能网站建设指南》中,作者给出了14条具体的优化原则,每一条原则都配以范例...