1. 对美工素材使用合适的类型

简单对象使用Vector,复杂图形则用jpg或者png文件类型。重绘和图形相关函数调用是最耗费处理器资源的操作。因此需要在重绘上进行改善。到文件->发布设置->Flash选项卡->生成大致素材修改报告里查看内存消耗情况。

2. 缓存合适的对象

缓存那些最耗费资源的对象便于重绘。将对象缓存到内存,如果是静态的那就只需要重绘一次。滤镜效果会缓存对象的产生,如果同时有很多滤镜应用,它们可能会导致内存问题。如果缓存的对象是动画、放缩、旋转等图形操作,那对处理器的确是个很大负担。

3. 现在添加到舞台上的美术素材

没必要遍历重绘那些没用或者没激活的节点。如果一个对象不经常可见,我会直接彻底销毁它然后再需要时候重新创建即可。此条最实用的地方就是菜单系统。

4. 不需要的事件关闭

事件派发是最耗费函数调用的操作之一。每个继承InteractiveObject类的类都会生成大量不需要的基类事件。花时间将MouseEnabled和MouseChildren设为false来保证事件系统尽量简洁。在不需要的时候将事件监听和EnterFrame事件删除哦。

5. 避免使用遮罩

如果需要给一个正方形区域做一个遮罩,可以使用显示对象的scrollRect属性来代替。如果需要非正方形的遮罩,可以将shape放在有scrollRect属性的对象上。

6. 不必需的操作和函数调用

能用乘法尽量不用除法。与其调用Flash的Math类的floor和round算法倒不如自己计算。将If语句排好序一边最可能的比较得到true。For跟while语句中只保存函数值而不是重复获取,也需要尽量重用对象。跟类型提示类似,函数调用也不需要太担心,但是在循环里如果迭代数百次则需要注意了,那可是很多的差别哦。

7. 解决类型提示、未知、不正确对象类型

AS耗费大量时间来检测一个不理解的对象类型,或者强制转换对象类型。因此需要在函数参数及返回类型时注意对象类型。虽然对象类型兼容性改变不会节省大量时间。但是很多时候需要做数千次来查看这其中的性能差别。

8. Sprite和MovieClip

如果有多个帧的话,此时需要使用MovieClip,其他时候只需要继承Sprite即可。

9. 不必要的导入

除非创建了大量类的实例并且有大量函数调用,否则这不会节省很多时间。但却是个很简单的提示性能的方式。

10. 确定是性能问题而不是内存问题

首先需要确定问题的来源。如果是因为引用素材或其他处理过程中大量耗费内存的操作用光了所有可用的RAM(内存),那CPU在请求获取数据的时候肯定会很慢。如果应用随着时间不断变慢,那可能是因为对象建立后忘记释放导致的内存泄露。只需要很简单的看下使用的内存量即可判断。Flash里面可以调用System.totalMemory来查看。或者直接在进程管理器里查看网页的占用内存。

转载于:https://blog.51cto.com/1213785174/1209998

AS3程序性能优化建议相关推荐

  1. asp.net程序性能优化的七个方面

    asp.net程序性能优化的七个方面 一.数据库操作 1.用完马上关闭数据库连接 访问数据库资源需要创建连接.打开连接和关闭连接几个操作.这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器 ...

  2. C++应用程序性能优化(三)——C++语言特性性能分析

    C++应用程序性能优化(三)--C++语言特性性能分析 一.C++语言特性性能分析简介 通常大多数开发人员认为,汇编语言和C语言比较适合编写对性能要求非常高的程序,C++语言主要适用于编写复杂度非常高 ...

  3. QML 性能优化建议(二)

    前言 接前一篇文章,QML 性能优化建议(一),这里接着来介绍性能优化建议的第二部分:通用接口元素,在这里会介绍一些常见的元素,如:图片.布局之类的写法. 通用接口元素 图片 图片是任何用户界面的重要 ...

  4. 《C++应用程序性能优化::第二章C++语言特性的性能分析》学习和理解

    <C++应用程序性能优化::第二章C++语言特性的性能分析>学习和理解 说明:<C++应用程序性能优化> 作者:冯宏华等 2007年版.最近出了新版,看了目录,在前面增加了一章 ...

  5. 小程序性能优化之页面预加载方案——让你的小程序运行如飞 进阶篇

    小程序性能优化之页面预加载方案 进阶篇 转载请注明出处:https://blog.csdn.net/sinat_27612147/article/details/80798452 写在前面 预加载方案 ...

  6. oracle 优化建议,oracle 性能优化建议小结

    原则一:注意WHERE子句中的连接顺序:ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前,那些可以过滤掉最大数量记录的条件必须写在WHERE子 ...

  7. [python]用profile协助程序性能优化

    本文最初发表于恋花蝶的博客http://blog.csdn.net/lanphaday,欢迎转载,但请务必保留原文完整,并保留本声明. [python]用profile协助程序性能优化 上帝说:&qu ...

  8. 雅虎35条性能优化建议

    雅虎35条性能优化建议分7类,共35条: [内容]尽量减少HTTP请求数 [服务器]使用CDN(Content Delivery Network) [服务器]添上Expires或者Cache-Cont ...

  9. WPF 性能优化建议

    本章讲述:WPF 性能优化建议 20180930 WPF性能优化问题:运行软件发现CPU使用率很大(80%-95%),程序中含有委托,线程,定时器的处理,之前优化时,主要优化线程和定时器相关线程方面的 ...

  10. 原来 CPU 为程序性能优化做了这么多

    来自:武培轩 本文主要来学习内存屏障和 CPU 缓存知识,以便于我们去了解 CPU 对程序性能优化做了哪些努力. 首先来看下 CPU 缓存: CPU 缓存 CPU 缓存是为了提高程序运行的性能,CPU ...

最新文章

  1. Window10设置护眼色
  2. 软件工程 工具之二—— PowerDesigner v12(二)
  3. SAP Spartacus master branch for 4.0 无法使用 yarn build
  4. linux rc4,Linux kernel 4.8-rc4发布下载,正式版越来越近
  5. Java如何避免重量级锁,Java 中锁是如何一步步膨胀的(偏向锁、轻量级锁、重量级锁)...
  6. 文件循环读取_一个案例轻松认识Python文件处理提取文件中的数字
  7. anaconda pandas运行不了_学习python你必须弄懂的 Python、Pycharm、Anaconda 三者之间的关系...
  8. 【微信小程序】组件间通信与事件-获取子组件的实例对象
  9. 知乎cookies的介绍_SameSite小识
  10. 详解将FTP映射至Windows
  11. FMI飞马网 |【线上直播】持续集成在京东研发的落地及应用
  12. mysql 导入 没有数据库文件怎么打开_没有SQL Server数据库时如何打开.MDF文件
  13. Cython的原理:知其然,知其所以然
  14. 自驾指南:元旦爱车出行全攻略
  15. 基于智能和视觉的火灾检测系统:调查 (论文翻译)
  16. 设置Windows快捷键
  17. Procreate iPad绘画教程
  18. 身价过亿的灵仙子说你IIC没写完也发?
  19. 决策曲线 Decision Curve
  20. Wordpress无法写入wp-config.php文件的解决办法

热门文章

  1. UHF-RFID基础知识
  2. 第四部分 在configure.in中使用宏来检测
  3. 在Ubuntu上安装使用Systemtap
  4. libxml主要函数说明 (二)
  5. linux下给qt4安装QSerialPort
  6. html页面整体换算单位,通过媒体查询meta和JS转换REM单位实现100%自适应
  7. activiti 启动tomcat乱码_Activiti 流程图片显示乱码问题分析与解决
  8. 北京市土壤侵蚀强度空间分布数据
  9. 面向对象18:接口(interface)
  10. Hadoop Partitioner 实战详解