ActionScript3优化.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Action Script 3.0 的优化(上) 作者:?刘小妮?发表时间: 2012-06-18 10:44?一共有?530人看过 原文链接:Action Script 3.0 的优化(上) ????? 一个实例: ????? 代码优化的目的是最大化flash程序的性能,尽可能少的占用RAM和CPU的系统资源。在本教程中,我们以制作一个占用资源的flash应用程序开始讲解,我们会逐渐在代码中应用很多优化技巧,最后完成一个高效、精简的SWF。 ? ????? 最后结果的预览 ? ????? 让我们一起看看我们到最后会面对的结果: ? ????? (图片为截图 请到原文查看效果) ? ????? “内存占用”和“CPU使用率”的统计是基于你打开的所有浏览器窗口的,包括flash横幅广告和其他类似的程序。这会使得SWF比实际本身占用更多的内存资源。 ? ????? 步骤一:理解Flash动画 ????? FLASH动画有两个要素:粒子模拟火灾效果、一个随时间显示动画消耗资源的图表。图的粉红色线追踪资源消耗兆级别的动画,绿线图以百分比的形式表示CPU使用率所消耗的总内存。 ? ????? ActionScript对象占用的大部分内存分配给Flash Player和更多的ActionScript对象集合,其内存消耗较高。为了保持程序的内存消耗低,在Flash Player中定期做一些面对所有的ActionScript对象和从内存中释放那些不再使用的资源的内存回收。 ? ??????内存消耗图表正常情况下会表现得高低起伏,在内存回收的时刻下沉,在新的对象被创造的时候又慢慢上升。图形线仅仅走到某个点表示内存回收,它意味着新的对象将被添加到内存中,此时没有什么东西可以移除的。如果趋势继续,flash播放器会逐渐因为内存用完而崩溃。 ? ????? CPU使用率是追踪动画的帧频来计算的。Flash动画的帧频比很像它的心跳。每一次心跳,flash播放器会更新一次并重新渲染屏幕上所有元素,执行所有要求的AS任务。 ? ????? 帧频决定了flash播放器每一次心跳的时间,因此1/10fps的帧频意味着至少每100毫秒一次心跳。如果所有的AS任务都以这个帧频执行,flash播放器在下一次心跳之前还有剩余时间等待任务完成。另一方面,如果既定的任务在特定节拍相对CPU太密集而不能以给定帧频完成,帧频就会自动下降允许一些额外的时间。一旦使用率减少,帧频就又加速,回到设定的速率。 ? ???? (当当前程序窗口失去焦点或者关掉的时候flash播放器会将帧频自动下降到4fps。这样做是管用户的焦点当前在何处都能节省系统资源。) 这所有的方法实际上也就是两种类型的帧频:一种是原始设定的,希望你的动画以此频率播放。一种就是它实际上运行的帧频。我们设定的是你的目标帧频,另一种为实际帧频。 ? ????? CPU使用率的图标是以实际帧频和目标帧频的比例来计算的。计算公式如下: ? ????? CPU使用率率 = (目标帧频-实际帧频)/实际帧频*100 ? ????? 例如:如果目标帧频是50fps,但动画实际上是以25fps运行的,CPU的使用率就是50%——即(50-25)/50*100。 ? ????? 请注意这不是CPU实际运行动画时的使用百分比,这只是一个实际值的估算。优化提纲已经在这里了,估算就是一个足够好的手上练习。为了获得实际的CPU使用率,要用到你的操作系统提供的工具,例如窗口任务管理器。看看我现在的任务管理器,它显示了没有优化过的动画CPU占有率是53%,而动画图表显示的CPU使用率41.7%。 ? ????? 请注意:本教程中的所有影片截图来自独立版本的Flash Player。该图将很有可能和你的系统上显示的数字不同,这取决于你的操作系统、浏览器、Flash Player版本。有任何其他在不同的浏览器窗口正在运行的Flash应用程序或flash播放器也可能会影响某些系统内存使用报告。当分析你的程序效能时,始终保证没有其他的Flash程序正在运行,因为它们可能会破坏你的指标。 ? ????? 随着CPU的使用率,预想它超过90%的时候动画屏幕就黑屏了——例如,如果您切换到另一个浏览器选项卡或向下滚动页面。较低的帧频导致它不会引起CPU密集型任务,但闪存节流下来的帧频无论每当你在看哪里。每当发生这种情况,等待几秒钟后的CPU使用率图,在正常的帧频开始工作后来使恢复到合适的CPU使用率值。 ? ????? 步骤二:这种代码会使我的flash看起来很“肥”吗? ? ????? 下面是动画影片的源代码,它只有一个类,叫Flames,也是文档类。这个类包含了一些属性来追踪影片内存使用和CPU使用率历史,被用来画一个图表。内存和CPU使用率数据的计

文档评论(0)

fc86033 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档