flash的render延迟渲染

看了很多UI框架里都涉及到了延迟渲染这个概念,一直不是特别理解。仔细看了编程精髓里屏幕更新这一章。有以下几个要点:

Event.Render事件的发生条件(两者必须同时满足)

  • flash运行期将要检查屏幕是否需要更新(不管是1帧还是updateafterevent)
  • 程序中调用了stage.invalidate()

另外记住很重要的一点,Event.render时间发生于每当任何对象(不只当前对象)调度stage.invalidate()

时。所以用一个bool值标记组件是否发生了改变。如果当前对象没有发生改变,就不会无故被调用。

延迟渲染时如何发挥作用的?

 

从开始执行帧脚本到检查屏幕是否需要更新这段时间,假如某个显示对象连续3次相同的改变,将这个改变放到render里处理。这样只用一下改变就可以了。

有空好好研究了一下flex组件是如何实现延迟渲染的。

posted @ 2013-10-10 10:39  Do.else  阅读(369)  评论(0编辑  收藏  举报