摘要:
AS3的Stage3D存在设备丢失的问题;会带来的问题就是,已经上传到显存的所有数据丢失,当遇到该问题后唯一的解决方法就是在设备丢失后重新上传一次数据;Starling提供了一个静态属性handleLostContext,设置为true则会自动处理设备丢失的问题;那么Starling会如何进行处理呢?我们可以看看Texture类,其提供的4个静态方法用来创建Texture,分别为fromBitmap、fromBitmapData、fromAtfData和fromColor,其中可以找到的逻辑就是,如果handleLostContext为true,则ConcreteTexture对象会记录对应的 阅读全文
随笔档案-2013年04月
AS3原生JSON输出字符串描述时的格式化
2013-04-22 14:12 by 阿诚de窝, 1258 阅读, 收藏, 编辑
摘要:
记录一下,一般使用JSON序列化一个对象成字符串描述时都比较难于阅读,特别是大量且复杂的数据时,如:1 var s:String = '{"title":"Adobe Flash 11 Stage3D (Molehill)Game Programming","authors":["Christer Kaitila"],"edition":1,"year":2011}';2 var o:Object = JSON.parse(s);3 trace(JSON.st 阅读全文
详解as3中flashplayer11.5新推出的多线程同步技术[总结]
2013-04-15 11:49 by 阿诚de窝, 671 阅读, 收藏, 编辑
摘要:
本来打算写一个多线程的图片批量处理的实例展示一下,后来觉得也没什么人需要这个多线程就算了,总之我了解的都说到了,所以这里打算总结一下就结束掉我们的教程:Worker运行在flashplayer11.4或air3.4以上,同步是flashplayer11.5和air3.5才引入的;Worker的主要目的是为了在高强度的运算下任然能保持较高运行帧率,但是Worker需要使用额外系统内存和CPU,开销很大,所以尽量少用Worker,最多同时运行时不应超过2个后台Worker(即子线程);移动平台的AIR不支持Worker!ByteArray的两个方法教程中没有说到:atomicCompareAndS 阅读全文
详解as3中flashplayer11.5新推出的多线程同步技术[第三步:Condition是啥]
2013-04-15 11:48 by 阿诚de窝, 591 阅读, 收藏, 编辑
摘要:
我们知道AS3中实现同步使用的是Mutex类,那么Condition可以看做扩展了Mutex类功能的类,首先我们看看Condition的构造方法:public function Condition(mutex:Mutex)说明Condition类是基于一个Mutex对象的,且其mutex属性为只读,说明其扩展了某一个Mutex对象就不能更改为其它的Mutex对象;再看看Condition提供的方法:public function notify():voidpublic function notifyAll():voidpublic function wait(timeout:Number = 阅读全文
详解as3中flashplayer11.5新推出的多线程同步技术[第二步:认识死锁]
2013-04-15 11:45 by 阿诚de窝, 810 阅读, 收藏, 编辑
摘要:
之前我们了解了在AS3中线程之间的同步该如何实现,那么现在我们来看看同步可能会导致的问题。同步技术保证了多个线程对同一个对象进行操作时的安全性之外,带来了一个新的问题,那就是死锁的问题。什么是死锁?百度一下,我们得到一个大致的介绍:所谓死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。 由于资源占用是互斥的,当某个进程提出申请资源后,使得有关进程在无外力协助下,永远分配不到必需的资源而无法继续运行,这就产生了一种特殊现象:死锁。那么AS3中该怎么样来模 阅读全文