摘要:
在项目开发的过程中总结了一下starling的性能优化方案:1. 不要频繁的读取显示对象的宽高:调用宽高属性时会调用显示对象的getBounds()方法,该方法会遍历该对象的所有子对象,重新计算宽高。在频繁使用宽高属性时,如没有特殊需要,最好把宽高保存到变量中,使用变量保存的值替代直接读取宽高属性。2. 扁平化的Sprites:starling在每一帧都会遍历所有对象检查它们的状态,上传它们的数据到GPU进行重新渲染,调用Sprite的flatten()方法后,GUP便不会对该对象进行重新上传渲染,当你需要更新这个显示对象时,可以调用它的unflatten()方法。3. QuadBatch:Q 阅读全文
摘要:
演讲人: Lee Thomason (lthomaso@adobe.com)翻译: 林晓伟 (xwlin@adobe.com)上一篇我们介绍了Flash Player的代码库是如何归并一体以及对Flash平台的后期开发产生的影响,在第二节里,我们将重点讨论Flash Player的体系结构及其对开发人员的影响。理解执行模型执行模型是指Flash Player在每一个帧周期中如何执行相应的指令操作。Flash Player后台事实上运行着n多线程,只是AS并没有给开发人员提供多线程编程模型。这意味着从概念上来讲我们要把Flash Player看做是单线程运行实体,有关这一单线程编程模型的优势/劣 阅读全文
摘要:
---------------------我只是个搬运工--------------------------还有人在用以下方法强制调用GC吗?你out了。try { new LocalConnection().connect('foo'); new LocalConnection().connect('foo');} catch (e:*) {}网上能查到的帖子,都说AS3调用GC的时间是不确定的。但我可以很负责人的告诉大家,Adobe对GC调用的时机是有明确说明的。网上的帖子嘛,你懂的,很多情况下是一个人写了,就有许多人转,不管对不对。于是好多错误和过时的东西 阅读全文
摘要:
下午蛋疼的厉害,看到很多人用JS实现了今日googledoodle的动态LOGO,也无聊的做了一下。 主要通过的是BitmapData的copyPixels方法实现,代码写的比较烂就不贴出来了。有兴趣的可以去看下http://www.cnblogs.com/eric6/archive/2011/05/11/2043327.html写的JS版doodle,思路基本是一样的。 阅读全文