Flash运行时阻塞测试
如果您看了我的上一篇博文,您就应该了解Flash Player运行时的帧频和Timer计时是不精确的;其原因之一是AVM虚拟机每次分配的时间片间隔不是一个固定的值;另一个原因则可能是一次时间片所运行的代码较大,如果一个时间片的时间执行不完,则时间片就会延长并占用后面的时间片。
在这篇文章里,我给“时间片执行不完而延长该时间片,并造成帧频、Timer暂时停止”的情况起了个名词叫“Flash运行时阻塞”(这个名词或许并不完全恰当,如果您有更适合的词语,可以告诉我)。如果您没有看过我之前的博文,下面有两个链接,您有必要看一下:
执行模型之可变跑道
Flash Player帧频、Timer计时 的时间间隔测试
Flash运行时阻塞也会分为多种情况,比如:单次时间片所运行的代码量大,在给定的时间片内执行不完、计算机配置较低或运行过多的程序造成Flash所获得的CPU资源较少、Flash加载外部大数据文件等,本文的重点是关于Flash加载外部数据时,所造成的阻塞测试,其他几种情况较容易理解,我就暂时不进行测试了,有兴趣的朋友可以试一下。
AS3中,与加载外部数据有关的类有Loader、URLLoader、FileReference、NetConnection、SharedObject、Socket、XMLSocket等,另外我还测试了Flex中的SWFLoader和开源文件加载类BulkLoader,下面列出我的测试代码,后面总结一下。我使用的是Flex开发工具,创建了一个Flex项目。
对于这几个类的测试方式,大都是类似的,我就不全部列出了,我们看一下URLLoader在加载的时候对Timer计时和帧频的影响:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<!--[CDATA[
import flash.utils.getTimer;
// 测试计时器
private var timer:Timer;
// 记录开始时间
private var startTime:int;
// 记录上一次计时的时间
private var prev:int;
// 用于加载数据的URLLoader
private var loader:URLLoader;
private function start(event:Event):void
{
// 创建一个Timer
timer = new Timer(100);
timer.addEventListener(TimerEvent.TIMER, onTimer);
// 创建一个URLLoader
loader = new URLLoader();
loader.addEventListener(Event.COMPLETE, onComplete);
// 记录当前时间
startTim
相关文档:
苹果和Adobe有很深的渊源。实际上,我们很早就在车库里与Adobe创始人有过一面之缘。苹果是Adobe第一个大客户,我们新的Laserwriter打印机就使用了它们的Postscript语言。苹果还投资Adobe,并多年持有它20%的股份。两家公司精诚合作,开发桌面出版系统,并多次合作良好。经过一段黄金年代后,两家公司渐行渐远。苹果经历了濒 ......
1,FLASH是什么?
FLASH电影是专为网页服务的画像或动画(当然,也可用于其它用途)。主要含有矢量图形,但是也可以包含导入的位图和音效,还可以把浏览者输入的信息同交互性联系起来,从而产生交互效果,也可以生成非线性电影动画。该动画可以同其它的WEB程序产生交互作用。网页设计师可以利用FLASH来创建导航控制器、动态LOG ......
来源:http://club.it.sohu.com/r-it-1350941-0-0-0.html
前言
最近关于HTML5 吵得火热,很多人认为HTML5出现会秒杀Flash,以至于在各大web前端开发论坛吵得不可开交。论坛里三言两语说的不够尽兴,只好在自己一亩三分地里敞开了说说。也当一次神棍,展望一下web前端开发的未来。
首先这里所说的HTML5也不仅指HTML5 ......
今天项目有个需求 要添加Flash ActiveX 到WPF 应用程序. 首先添加ActiveX到Winform控件,.net帮我们自动产生interop的dll,然后再WPF程序中添加引用,添加winformhost控件,添加 托管的AX***控件.这一切都很顺利.运行,麻烦来了,VS告诉我 Flash ActiveX没注册.
我的操作系统是win7 64-bit, 我去了文件夹C:\Windows\SysWOW64\Mac ......
近日John Lindquist谈到了在为Roundarch公司招聘Flash/Flex开发人员时的一些感受。他认为最难的地方在于问什么问题才能最好地了解到应聘者的Flash/Flex开发技能。因此,他给出了一个列表并说到:“根据我的经验,通过这个列表能更好地判断面试者的技术水平和经验”。
本文就将概要地介绍Flash开发者需要知道的10 ......