- 1、本文档共22页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Flash开发者应该知道的基本知识
Flash开发者应该知道的基本知识(一)??
2010-12-06 15:16:31|??分类:? HYPERLINK /blog/ \l m=0t=1c=fks_084067087084083074093081082095085084088070092081084065080 \o Flash相关 Flash相关|字号?订阅
?? ? ? 今天看了两篇不错的文章,都是讲作为Flash开发者应该知道的10个基本知识。一篇是“ HYPERLINK /2009/08/28/10-things-every-senior-flash-developer-should-know/ \t _blank 10 Things Every Senior Flash Developer Should Know”,这个是从比较宽泛的角度讲的,针对Flash开发者(个人认为Flash开发者是一个很宽的概念,只要你最终的成果是一个运行在Flash Player上的应用,那么你就是一个Flash开发者。即使什么代码都不写也可以是Flash开发者,使用像Flash Authoring Tool是可以不写代码开发Flash的)。另一篇是“ HYPERLINK /2010/04/10-things-good-flex-developer-should.html \t _blank 10 Things A Good Flex Developer Should Know”,这个就针对Flex开发者了,可能这里面的东西我更加熟悉一点。
?? ? ? 做了快一年的Flash开发,发现里面讲得很多东西自己也都是一知半解,有的只是听说过。准备利用闲暇时间好好看看这些东西,同时也把自己的学习心得分享出来更大家交流一下,检验一下自己理解的是否完全正确。今天分享一个Flash Player的帧执行模型——可变跑道模型。在网上找到了 HYPERLINK /xwlin/2010/04/flash_player_101_-_adobe_max_2009_1.html \t _blank Adobe中国员工的翻译如下:
演讲人: Lee Thomason (lthomaso@)翻译: 林晓伟 (xwlin@)
上一篇我们介绍了Flash Player的代码库是如何归并一体以及对Flash平台的后期开发产生的影响,在第二节里,我们将重点讨论Flash Player的体系结构及其对开发人员的影响。
理解执行模型执行模型是指Flash Player在每一个帧周期中如何执行相应的指令操作。Flash Player后台事实上运行着n多线程,只是AS并没有给开发人员提供多线程编程模型。这意味着从概念上来讲我们要把Flash Player看做是单线程运行实体,有关这一单线程编程模型的优势/劣势的争论从未休止过,我不想对这一具有争议性的问题做过多??论,但请大家记住这一事实。
可变跑道(Elastic Racetrack)可变跑道是Flash Player的帧执行模型,这个模型描述了在一帧的处理周期中,代码执行和帧渲染的工作是怎样彼此平衡的。Flash Player 9和AVM2对这一模型进行了一些改进,这一信息是基于对事件机制和渲染模型的研究总结出来的,完整的模型尚未被官方公布。
基本的跑道理论没有发生改变,在Flash Player执行一帧的周期里,前一部分时间用于执行代码,剩余时间用于渲染显示列表中的对象。每个执行阶段都可以根据实际需求增加执行时间来执行更多代码或做更多的渲染工作,而跑道的总长度也将相应增长。
??在前一模型基础上发生改变的是每一阶段在一个微观周期里的样子以及他们怎样形成一帧。
AVM2是由Flash Player中一个叫做Marshal的元帅级组件所操控,Marshal负责将时间切割成Flash Player工作所依的基本时间片,在这里我希望澄清一下Flash Player的时间片跟swf文件运行时的帧速率没有任何关系,我们将最终看到Flash Player是如何将这些时间片合成为一帧。在Mac OS版Firefox中执行一个由Flex编译得来的swf文件,Marshal通常会将时间切割成19-20毫秒的时间片,时间片大小根据平台和浏览器的不同而存在差异.为方便我们接下来的讨论,我们假定时间片大小为20毫秒,也就是说Marshal每秒钟会产生不超过50个时间片,每个时间片中,五步可能的操作按如下顺序执行:?
Player事件调度 – 比如Timer事件,鼠标事件,ENTER_FRAME事件,URLLoader事件等等。
用户代码执行 – 所有侦听上一步相应事件的代码被执行。
RENDER事件调度 – 在用户代码执行期间调用stage.inval
文档评论(0)