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
相关文档:
sudo gedit /etc/fonts/conf.avail/49-sansserif.conf
将
<edit name="family" mode="append_last">
<string>sans-serif</string>
......
package
{
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.system.fscommand;
import flash.display.StageDisplayState;
import flash.events.KeyboardEvent;
import flash.events.Event;
import flash.ui.Keyboard;
/**
* ...
* @author LittleSpace
*/
public ......
将Flash融合到WinForm中能够增强程序的多媒体效果和炫丽的外观。现在我们就来看看在C#桌面程序中如何插入Flash视频,而且去掉烦人的右键菜单。
首先要插入Flash就必须使用Flash控件,在工具栏右键选择“选择项…”,然后在“COM组件”面板下点击“浏览”按钮,在本机电脑C:\WINDOWS\s ......
http://code.google.com/p/jofc2/ 这个是google对OFC做扩展的包 其中包含有 jofc2-1.0-0.jar,xstream-1.3.1.jar,两个.jar 档需要加入项目中
ofc下载: http://teethgrinder.co.uk/open-flash-chart/ 包括:open-flash-chart.swf,swfObject.js,json.js
http://hi.baidu.com/harbin%5Fsakura/b ......
首先说明在Flash里改变鼠标样式,并不是在flash里导入静态鼠标文件或者是动态鼠标文件,而是自动隐藏鼠标,自动拖动一个MC来实现改变鼠标样式。首先新建一个影片,新建一个MC,进入MC的编辑状态,绘制一个你喜欢的鼠标样式,因为是在MC里面,你可以做一个动态鼠标,也可以做一个静态鼠标。(注意:一定要把你制作的鼠标的中 ......