flash游戏优化
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Flash游戏优化
网页游戏开发中的优化方法和工具
InfoQ中文站
主要内容
◆性能分析工具◆优化内容
Flashbuilder概要分析器
概要分析器的功能:
◆确定应用程序中的性能瓶颈(性能概要分析)
◆查找应用程序中的内存泄漏(内存概要分析)
•概要分析器工作原理
FlashPlayer概要分析
socket
•概要分析器工作原理
快照:概要分析器以极短时间间隔对Flashplayer的操作进行采用,采样的结果就是快照
快照快照快照快照…快照快照
•概要分析器工作原理
快照1
函数1开始执行
快照2
函数1还在执行
…
函数1继续执行
快照
15
函数1执行结束
•一个实例
•几个实用的按钮
•Adobe Scout
Adobe Scout 用于优化Flash 内容,是一款极
为强大的工具,因为它能让您看到Flash
Player 幕后正在发生的事情
优化内容
●内存相关
–Flashplayer垃圾回收
–对象池技术
–加载资源先用URLLoader加载二进制资源
–背景音乐采用流媒体格式
●CPU相关
–图片资源采用异步解码
–Inline机制的使用
–炼金术
–stage3d
•Flashplayer垃圾回收
Flash Player垃圾回收工作是由垃圾回收器(garbage collector)完成的。
垃圾回收器是运行在后台的一个进程,它释放那些不再被应用所使用对象所占用的内存。
不再被应用所使用的对象是指那些不再会被那些活动着(工作着)的对象所“引用”的对象。
在AS中,对于非基本类型(Boolean, String, Number, uint, int)的对象,在对象之间传递的都是对象引用,而不是对象本身。
对象池技术
–有效解决频繁申请内存的问题
加载资源先用URLLoader加载二进制资源
–二进制资源加载进来还是经过压缩的(比如swf文件,jpeg文件,zip文件等)在使用的时候再对其进行loader操作,可以有效减少内存的使用量
背景音乐采用流媒体格式
–流媒体可以边下载边播放,解决了大的背景音乐只能下载完才能播放的问题
图片资源采用异步解码
–异步解码是在下载线程内做解码操作,所以不会影响主线程的执行
Inline机制的使用
–减少函数调用的层级
–减少了指令指针的频繁跳转
–减少了函数参数压栈出栈的操作时间
炼金术
–用C/C++的执行效率替换Flashplayer的执行效率
Stage3d
–借住GPU的强大渲染技术
–省去CPU去做渲染的问题,解放了CPU
其他想说的
•优化的策略
–项目完成或后期再做优化
–基本的优化要了解(ActionScript3语言本身)
–每个项目都有自己本身的特点,优化的策略也可能不同–美术很重要
马强/ Jacky Ma
上海欢乐互娱网络科技有限公司Email: jackyma@。