- 浏览: 352406 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
lliiqiang:
在功能上,由于flex不支持加载外来的类的反射机制,所以可以通 ...
Flex Module专题 -
迪伦少校:
工程报错呢?。。
关于DEGRAFA的简介 -
chwnchwn:
不错的东西
关于DEGRAFA的简介 -
lorry1113:
学习了,多谢!!!!
重写FLEX组件 -
cuixuxucui:
var str:String = "";v ...
AS3 Array学习笔记
转自http://www.cc-space.com/?p=1326
POSTED BY ADMIN | FILED UNDER RIA相关 演讲人: Lee Thomason (lthomaso@adobe.com) 理解执行模型 可变跑道(Elastic Racetrack) 基本的跑道理论没有发生改变,在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个时间片,每个时间片中,五步可能的操作按如下顺序执行: 为了更好阐述哪些action被如何执行以及可变跑道如何被创建,请参考如下示例,分别描述了以5fps, 25fps和50fps帧速率工作的swf中时间片是如何被处理的。 优化 Adobe Flash 平台的性能: 了解如何改进应用程序性能的关键是了解 Flash 平台运行时如何执行代码。运行时在一个循环中运行,其中某些操作是针对每个“ 帧” 发生的。在这种情况下,帧只是由为应用程序指定的帧速率决定的一段时间。分配给每个帧的时间直接对应于帧速率。例如,如果指定帧速率为 30 帧/ 秒,则运行时会尝试使每个帧的执行时间为三十分之一秒。 可以在创作应用程序时指定初始帧速率。可以使用 Adobe® Flash® Builder™ 或 Flash Professional 中的设置来设置帧速率。还可以在代码中指定初始帧速率。可通过对根文档类应用 [SWF(frameRate="24")] 元数据标签,在纯 ActionScript 应用程序中设 每个帧循环包括两个阶段,分为三部分:事件、enterFrame 事件和呈现。 第一阶段包括两部分(事件和 enterFrame 事件),这两部分都可能会导致调用代码。在第一阶段的第一部分,发生并调度运行时事件。这些事件可以表示异步操作完成或异步操作的进度,例如来自通过网络加载数据的响应。还包括来自用户输入的事件。调度事件时,运行时在您已注册的侦听器中执行代码。如果没有发生事件,运行时会等待完成此执行阶段,而不会执行任何动作。由于缺少活动,运行时永远不会提高帧速率。如果在执行周期的其他部分发生事件,运行时将这些事件排队并在下一 第一阶段的第二部分是 enterFrame 事件。此事件与其他事件不同,因为每个帧始终只调度一次该事件。 调度所有事件后,帧循环的呈现阶段开始。此时,运行时将计算屏幕上所有可见元素的状态并将其绘制到屏幕上。然后,此进程重复,就像赛跑者围绕跑道奔跑。 注: 对于包括 updateAfterEvent 属性的事件,可强制立即执行呈现操作,而不是等到呈现阶段。但是,如果 updateAfterEvent 频繁导致性能问题,应避免使用它。 最简单的方法是假设帧循环中的两个阶段需要相同的时间。在这种情况下,一半的时间运行帧循环事件处理函数和应用程序代码,另一半的时间发生呈现。但是,事实通常是不同的。有时,应用程序代码会通过增加运行时间并减少用于呈现的时间来占用帧中多一半的可用时间。在其他情况下,特别是对于滤镜和混合模式等复杂的可见内容,呈现需要一半以上的帧时间。由于各阶段需要的实际时间是灵活的,所以帧循环常称为“ 弹性跑道”。 如果帧循环的组合操作(代码执行和呈现)所需时间太长,运行时将无法保持帧速率。帧会进行扩展,所需时间超过其分配的时间,因此在触发下个帧之前会出现延迟。例如,如果一个帧循环需要的时间超过三十分之一秒,则运行时不能以每秒三十帧的速度更新屏幕。如果帧速率减慢,将影响体验效果。最乐观的情况是动画断断续续。如果情况更糟糕,应用程序将冻结,并且窗口一片空白。
翻译: 林晓伟 (xwlin@adobe.com)
地址:http://blogs.adobe.com/xwlin/2010/04/flash_player_101_-_adobe_max_2009_1.html
执行模型是指Flash Player在每一个帧周期中如何执行相应的指令操作。Flash Player后台事实上运行着n多线程,只是AS并没有给开发人员提供多线程编程模型。这意味着从概念上来讲我们要把Flash Player看做是单线程运行实体,有关这一单线程编程模型的优势/劣势的争论从未休止过,我不想对这一具有争议性的问题做过多评论,但请大家记住这一事 实。
可变跑道是Flash Player的帧执行模型,这个模型描述了在一帧的处理周期中,代码执行和帧渲染的工作是怎样彼此平衡的。Flash Player 9和AVM2对这一模型进行了一些改进,这一信息是基于对事件机制和渲染模型的研究总结出来的,完整的模型尚未被官方公布。
Marshal 如此反复的执行20毫秒时间片并在运行中决定下一步操作。一个时间片中执行的所有这些操作最终归纳为上述两段式跑道(代码执行,图像渲染)也就是我们所说 的一帧。用户代码和失效操作填充在代码执行区,渲染操作填充在跑道的渲染区段。需要指出的是相关操作只能在Marshal预定的时间内发生,如果你的用户 代码很短,那么Marshal仍然会在执行完用户代码后等待一段时间然后进入渲染阶段。
以 上示例可以看出,不同的帧速率下,一个帧周期中的可变跑道会执行不同操作,例如对于5fps的swf,每帧处理10个用户action,1个失效 action,1个渲染action;帧速率25fps的swf,每帧处理2个用户action,1个失效action,1个渲染action;对于 50fps的swf,每帧只能处理1个用户action,1个失效action,1个渲染action。需要指出的很重要的一点是,某些事件只可能能发生 在某些特定的时间片里,比如,Event.ENTER_FRAME事件只能在某一帧的初始时间片中被调度。
置帧速率。在 MXML 中,可在 Application 或 WindowedApplication 标签中设置 frameRate 属性。
个帧中进行调度。
评论
http://uh.9ria.com/space-43393-do-blog-id-8404.html
发表评论
-
白名单屏蔽字 unicode字符范围
2016-07-05 16:58 842(_word.unicode >= 0x2001 ... -
flash textfiled换行 以及\r和\n区别
2016-06-20 15:11 1951flash.text.TextField.wordWrap ... -
flash 字体
2016-05-20 17:35 7611.FTE和TLF的关系 http://zengr ... -
Flex Date对象与UTC之间的关系
2013-08-07 14:16 2384转自 Flex Date对象与UTC ... -
as3 数据结构array,object,dictionary用哪个
2011-12-29 16:43 4424今天在处理背包物品时,考虑是用Array还是dictionar ... -
CS5 中禁用SimpleButton
2011-12-09 11:48 1923需要在CS5中对一个SimpleButton设置禁用效果,即不 ... -
Event.FRAME_CONSTRUCTED
2011-12-07 19:07 2153_oPBox是个MovieClip,共3帧,其中第1帧有 ... -
使用拼接的属性来访问Object
2011-11-28 15:58 11061.VO:Objectt有这些属性: public ... -
ShareObject简记
2011-10-25 18:58 1058引用: _soundSO = Shared ... -
字符集学习笔记(二)
2011-10-21 14:08 1582参考http://www.discuz.net/thre ... -
字符集学习笔记(一)
2011-10-20 17:17 1617摘自http://bbs.9ria.co ... -
使用AS3帧代码控制动画
2011-10-17 14:26 3962美术同事出了一个资源,大致是这样的:四个角色形象动画,聚在一个 ... -
flash cs将一个MC变成BUTTON
2011-09-15 16:50 1830在FLASH CS中,设置一个MC的三帧名字分别为 ... -
flash中的in关键字
2011-09-08 18:10 1337in这个关键字挺有意思的: package { ... -
VerifyError: Error #1024: 发生堆栈下溢
2011-08-26 16:14 4613今天出现了奇怪的问题,RELEASE版本的背包操作总是报Ver ... -
TextField的高宽autosize
2011-08-17 14:25 3394var t_name:TextField = new Text ... -
FLASH注册点与中心点(转)
2011-08-16 10:23 4808http://space.flash8.net/space/? ... -
flashbuilder不同版本共用工作空间的问题
2011-08-02 13:36 2461今天因为项目需要,安装了FB4.5,当然原来的FB4.0没舍得 ... -
flashplayer内存管理
2011-07-29 11:18 4431参考Flash务实主义(五)——AS3的垃圾回收 ... -
从SVN上的FD项目上,构建FB项目
2011-07-28 15:18 3690说一下概况: 项目是一个FD(FlashDevelop ...
相关推荐
Adobe Flash Player中文电脑版是一款一种广泛使用的、专有的多媒体程序播放器。它最初由Macromedia编写,在Macromedia被Adobe收购后由Adobe继续开发并分发。Adobe Flash Player最初设计目的为播放2维向量动画,但...
Adobe Flash Player是一款曾经广泛应用于网页浏览器的多媒体播放器,它支持播放动画、视频、音频以及交互式内容。然而,随着技术的发展,特别是HTML5的普及,Flash Player的重要性逐渐下降,且由于安全问题,Adobe...
总结来说,"FlashPlayer_flashplayer_"项目展示了如何使用Delphi 7这一经典开发工具来构建一个自定义的FlashPlayer应用程序。通过对源代码的分析和理解,我们可以学习到Delphi中的窗体设计、组件使用以及如何与...
**FlashPlayer V10.1.85:深入解析与应用** FlashPlayer V10.1.85 是一个重要的软件版本,它属于Adobe Flash Player系列,是互联网上广泛使用的多媒体内容播放器。这款软件的核心功能是播放含有Flash技术的交互式...
很多的朋友反映,将喜欢的Flash动画下载到自己的电脑后总是用IE浏览器或者第三方Flash播放器才能观看,感觉不好,希望用Macromedia的Flash Player播放,可是又很难找到!现在我就发一个最新版本的给大家!不过请注意...
Ubuntu Linux 上安装最新的 FlashPlayer 10.2 beta FlashPlayer 是一个非常流行的浏览器插件,用于播放 flash 视频和游戏。 Adobe 公司最近发布了最新的 FlashPlayer 10.2 beta 版本,这个版本带来了阶段性视频硬件...
标题中的“flashplayer-34.0.0.289独立版”指的是Adobe Flash Player的一个特定版本,这是Adobe公司开发的一款广泛应用于网络上的多媒体内容播放器。Flash Player的主要功能是解析和执行SWF文件,这种文件格式通常...
Flash Player Debug版是一款专为开发人员设计的特殊版本,它允许开发者在运行含有ActionScript代码的Flash内容时进行调试。ActionScript是Adobe Flash环境中用于创建交互式内容、动画和应用程序的主要编程语言。与...
FlashPlayer11-5安装包FlashPlayer11-5安装包FlashPlayer11-5安装包FlashPlayer11-5安装包
《FlashPlayer11本地播放器-精简版详解》 FlashPlayer11是Adobe公司推出的一款重要的多媒体播放器,主要用于在网络浏览器中播放SWF格式的Flash内容。此精简版的FlashPlayer11本地播放器,是针对用户需求进行定制...
总结来说,这个标题和相关文件涉及的是在64位浏览器环境下安装和使用Flash Player的过程,以及可能关联的源码分析和辅助工具。由于Adobe Flash的退役,了解这些信息对于理解过去Web技术的发展和当前Web标准的演变是...
Flash Player离线安装包下载
Adobe Flash Player(Flash Player官方下载)是一个集成的多媒体播放器,让你在Web上享受更广泛的多媒体体验。Adobe Flash Player官方版可显示和播放多媒体内容,从数以千计的高度交互性的flash player下载,到有音频...
标题中的“flashplayer_10_sa”指的是Adobe Flash Player的一个特定版本,主要针对SWF文件进行本地播放。SWF(Small Web Format)是Adobe Flash创作的动画或应用程序的文件格式,广泛应用于网页上的互动内容,如游戏...
总结起来,这个压缩包文件可能是为了解决在UOS操作系统,尤其是运行在Arm64架构的鲲鹏和飞腾处理器上的设备上,如何安装和使用Flash Player的问题。由于Flash Player已不再维护,使用时应格外注意安全风险,并尽可能...
最新flashplayer离线安装包下载
Win10完全卸载和删除自带Adobe Flash Player操作下载 在Windows 10操作系统中,Adobe Flash Player是预安装的组件,但是在2021年,Adobe官方宣布停止支持Flash Player 387版本以上的版本,意味着用户不能继续使用新...
flashplayer11_b1_install_win_ie32_071311flashplayer11_b1_install_win_ie32_071311flashplayer11_b1_install_win_ie32_071311flashplayer11_b1_install_win_ie32_071311flashplayer11_b1_install_win_ie32_071311...
FlashPlayer是一款广泛应用于各种操作系统,包括Linux的网页多媒体播放器,尤其在早期互联网时代,它对于观看在线视频、玩Flash游戏以及使用含有Flash元素的网页应用至关重要。标题提到的"FlashPlayer Linux插件",...
标题 "flashplayer32_0r0_371_linuxpep.x86_64.tar.gz" 提供的关键信息是这是一个针对Linux系统的Adobe Flash Player的32位PPAPI版本,其版本号为32.0.0.371。在描述中提到,这个版本是Linux用户可以使用的最后一个...