我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Flash AS3 性能优化

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Flash AS3 性能优化

Adobe 官方性能优化文档,很全面,非常好!

http://help.adobe.com/zh_CN/as3/mobile/index.html

 

http://www.rozengain.com/blog/2007/05/01/some-actionscript-30-optimizations/

【Flash性能优化的一些细节概要:,是否在没有必要的时候做了无用功,往往从这些方面就能找到那些导致性能低下的地方。 2、优化细节代码 针对细节总是好的,有一些小技巧比如: 用 var obj:Object = {}; 要比 var obj:Object = new Object();要好; var arr:Array = []; 要比 var arr:Array = new Array...】

尽量避免使用try catch

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<len; i++) 要比 for (var i:int=0; i<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一遍,然后让这个对象彻底消失。否则每次的变动都是巨大的性能消耗。

 

 

http://blog.zol.com.cn/1595/article_1594547.html

前几日跟小雷配合做了一个项目,访问量统计的,要处理海量数据(其实万级别而已)。做出来之后,从程序启动到画出来图形,要超过15秒的脚本执行限制。这样肯定是不行的,于是我开始研究程序优化——当然我之前也会有所涉及,只不过没有系统的总结过,这次需求比较严峻,所以整理一下。flash性能最低的地方依然在于图形渲染,所以各种循环之中如果可以不包含图形变化就不要包含。我把图形变换放到数据运算之后,渲染速度从9秒多降低到0.4秒不到。循环的速度,有人测出来是for each最快,for其次,while最慢。这个姑且相信吧,因为和我测出来的差不多。数字类型的效率,int最高,number其次,uint最低。这个和as3刚出现时大家说的,能uint就uint完全不一致,uint甚至无法超过number。所以,循环的时候应该是:
(1)如果要存储的东西是对象,可以放在一个数组里面进行处理,需要循环的时候,可以用数组方法比如说every;同时,如果存储的对象包含自己的方法,则可以用for each (var _obj:* in _arr){_obj.method();}这样的方法。
(2)如果存储的是普通数据,可以尽量用for(var i:int=0,len:int=_arr.length;i+=1的效率大于++,也很难理解。公共属性,能不用getter/setter方法就不用,直接公开给外部调用修改。当然这种做法很不符合面向对象思想,不过有些时候也可以这么用。xml的效率并不高,数据存储简单格式还是object吧。

 

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Flash AS3 性能优化

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Flash AS3 性能优化

Adobe 官方性能优化文档,很全面,非常好!http://help.adobe.com/zh_CN/as3/mobile/index.html http://www.rozengain.com/blog/2007/05/01/some-a
2023-01-31

AS3性能优化

本篇文章用来总结本人对AS3性能优化方面的认识及经验,可能会有一些错误,敬请不吝赐教.如果想了解更多,请参考ADOBE方面的相关只是介绍.1,关于显示对象:    shape -> sprite -> moviechip我之所以这样写,是因
2023-01-31

服务器性能优化之网络性能优化

今天分享一篇后台服务器性能优化之网络性能优化,希望大家对Linux网络有更深的理解。

MySQL-性能优化

有志者,事竟成 文章持续更新,可以微信搜索【小奇JAVA面试】第一时间阅读,回复【资料】获取福利,回复【项目】获取项目源码,回复【简历模板】获取简历模板,回复【学习路线图】获取学习路线图。 文章目录 前言一、优化简介二、优化
2023-08-17

Android性能优化之网络优化

在移动互联网的快速发展环境下,手机用户日益对网络的使用或体验有着更深度的诉求,因此应用中的网络体验已经显得由此重要。

Android性能优化(一)启动优化

以前做手机的时候,我非常重视app的性能优化。其实一直以来,在工作中我总会去强调性能优化的重要性。但是,很多时候,由于一些外界因素,我们对app的一些性能指标不会那么重视。但是,性能优化依然是做好一个产品的重中之重。试想一下,如果用户费了很
2022-06-06

PHP 性能优化:图像处理性能调优

优化图像处理性能的方法:禁用可选的图像处理函数扩展(gd 库)。使用更快的第三方图像处理库(如 imagick 或 intervention image)。缓存已处理的图像以避免重复执行耗时的操作。延迟加载图像以减少页面加载时间。PHP 性
PHP 性能优化:图像处理性能调优
2024-05-10

Golang的性能优化

作为开发者,我们都努力创建高效、闪电般快速的应用程序,以提供出色的用户体验。在本文中,我们将探讨优化Golang应用程序性能的基本技巧。
Golang开发2024-11-30

性能优化指南:性能优化的一般性原则与方法

【本文转自博客园 作者:xybaby 原文链接:https://www.cnblogs.com/xybaby/p/9055734.html】作为一个程序员,性能优化是常有的事情,不管是桌面应用还是web应用,不管是前端还是后端,不管是单点应
2023-06-05

性能优化之window.onload

最近在做一些性能优化相关的工作,相信大家在工作过程中也会遇到一些性能优化相关的场景,这对于前端开发者来讲是一项加分技能。为了我们的用户在使用我们的产品时能够有一个非常好的体验,我们需要对页面进行诊断优化。在行业中,我们的页面P90在两秒内算

MySQL优化INSERT性能

要优化MySQL的INSERT性能,可以采取以下策略:批量插入:将多条记录合并到一个INSERT语句中,减少网络开销和数据库I/O操作。例如:INSERT INTO table_name (column1, column2, column3
MySQL优化INSERT性能
2024-10-20

MySQL性能优化,MySQL索引优化,order by优化,explain优化

今天我们来讲讲如何优化MySQL的性能,主要从索引方面优化。

MySQL tinyint性能能优化吗

是的,可以通过以下方法来优化MySQL中的tinyint字段性能:避免使用tinyint字段存储大量数据:由于tinyint字段只能存储范围有限的整数值(-128到127),因此应避免将大量数据存储在tinyint字段中,可以考虑使用int
MySQL tinyint性能能优化吗
2024-07-31

Android性能优化系列篇UI优化

这篇文章主要为大家介绍了Android性能优化系列篇UI优化示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
2022-11-13

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录