- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
flash代码性能优化
Flash 代码性能优化 节省内存 减少CPU使用 加快呈现速度 优化网络交互 性能测试(两点): A、感知性能 B、实际性能 感知性能: 动画是否流畅? 文本输入时是否同步,或是有延迟 单击事个把是否及时触发 程序运行时,CPU声音是否变大 笔记本耗电量 实际性能: 实际帧率,方法运算时间,调用次数,CPU占用,内存占用等。 避免过早优化:某些性能优化需要以难以理解或灵活性差的方式编写代码。会造成维护困难。通常时实现完后定位到部份代码是否性能较差。针对性优化。 影响:矢量动画,视频,图形滤镜效果,图层混合模式等等。 可通过将程序执行拆分成几个部分,运行时在各部份执行间更新屏幕,达到感知优化。 帧循环(事件和enterframe,呈现) 0ms:执行frame1代码 100ms:等待呈现周期 1000ms:开始呈现 1050ms:呈现完成 1051ms:执行frame2代码 1151ms:等待呈现周期 2000ms:开始呈现 2050ms:呈现完成 2051ms:执行frame3代码 ... 注:对于包括updateAfterEvent属性的事件,可强制立即执行呈现,而不需要等到呈现阶段,但是,频繁使用可能会导致性能下降。 重用对象 如在循环外先声明再赋值,而非重复创建 var i:int; for(i = 0; i 100; i++) { var rect:Rectangle = new Rectangle(i,i,i,i); doUseRect(rect); } var rect:Rectangle = new Rectangle(); var i:int; for(i = 0; i 100; i++) { rect.x = rect.y = rect.width = rect.height = i; doUseRect(rect); } 对象池 对象实例化成本很高,使用对象池可减少对象实例化的需求。还可减少垃圾回收器运行的机会,提高运行速度。 var objPool:Array; function getObj():Object { if(objPool.length 0)return objPool.shift(); } function releaseObj(obj:Object):void { objPool.push(obj); } 垃圾回收 对象删除引用后。不会从立即从内存中回收,系统认为可能内存太低时才会执行回收。回收时间不可预知。删除对象时不会触发垃圾回收。 内存分配时会触发。垃圾回收会占用大量CPU并影响性能。导致运行速度明显下降。另外,尽可能将引用置null,使回收器容易找到回收对象。 事件与回调 事件优点:灵活解藕 事件缺点:可能要在应用程序的生存期内创建许 多对象,使用事件模型与传统回调相比,速度更 慢且占用更多内存。必须要创建event对象并进 行。 内存分配,会降低性能。在捕获和冒泡阶段,如 果显示列表很复杂,性能会很低。 位图与矢量 矢量:节省内存,大量矢量会增加CPU资源消耗。 位图:占较大量内存,运行时绘制像素比呈现矢量需要处理的资源少。 FP10.1以后,创建同一个图像的多个对象时,使用相同的bitmapdata实例(即不会重复增加内存)使用滤镜会多产生两份资源以生成滤镜效果。 FP10.1以后,30秒没有修改,或放到屏幕外,将释放未过滤的位图的内存。修改滤镜属性会重新创建未过滤的位图,需要大量CPU处理。 文本 只读文本最好使用新的文本引擎 flash.text.engine,输入文本使用textField对象, 同样支持编译,输入等功能,textField使用的as代码 最少。 休眠机制 10.1休眠机制(音频或视频时,帧率降为8,否则降为4),运行时进入或退出睡眠模式,不会触发事件。 页面上多个swf时,滚到屏蔽外的swf默认不会被启动,直到其可见。可设置hasPriority值启动,但最小化时,此值无效。 param name=hasPrioriy value=true/ 冻结对象 即使显示对象不再位于显示列表,并等待回收,仍然占用大量CPU,即在removeChild的时候删除没有必要的侦听。 10.1播放到空帧时会自动冻结。loader引用unloadAndStop方法自动冻结加载对象并强制运行垃圾回收器 鼠标交互 禁用多余的鼠标事件,当屏幕上显示许多交互对象时,特别是当他们重叠
您可能关注的文档
- Excel导入数据集.docx
- struts 标签介绍2.doc
- 基于ANSYS-UPFs教程-仿真论坛.doc
- 浅谈javascript的原型继承.doc
- 从FCKEDITOR到ckeditor2.docx
- 干式变压器买卖合同(模板).doc
- serial port 控件使用方法.doc
- CSS在网页上实现浮动层跟随滚动条特效(兼容IE6).doc
- Apache2.2多个虚拟主机+Tomcat6多个虚拟主机整合配置.doc
- NET开发能力测试.doc
- 市残联领导在市委巡察组巡察涉残领域工作动员会议上的表态发言.docx
- 市旅游发展集团关于“党的领导融入公司治理不够有效”专项整治回头看总结报告.docx
- 党课:永葆自我革命精神在正风肃纪中砥砺前行.docx
- 在2025年区委巡察组巡察区教育局党委工作动员会上的表态发言.docx
- 镇党委“三色先锋·旱码头引擎”党建品牌创建工作情况报告.docx
- 村党总支2025年上半年党建引领基层治理工作总结.docx
- 在县委新兴领域党建工作推进会上的讲话.docx
- 2025年村委换届选举大会工作方案.docx
- 党课:站稳政治立场,恪守纪律底线,争做对党忠诚、行有所止的青年干部.docx
- 在2025年公司半年纪检工作座谈会暨“三化”建设年行动推进会上的讲话.docx
文档评论(0)