AS3关于显示列表的重绘

有个问题,显示列表里面,增加了已经画好的child消耗的cpu多,还是直接更新sprite消耗的cpu多?考虑多个sprite在显示列表的情况

把child从显示列表里面移出,引发一次重绘,移入,引发一次重绘,只需要两次即可完成画面的更新(比windows的一次还是要差点,但是windows下图像的接口要啰嗦很多)

如果是sprite有多个draw的动作,每个动作都引起一次全屏幕重绘的话,那么自然会是直接更新显示列表里面的sprite消耗的cpu多,这也就可以解释,为什么aswing里面复杂的控件会导致cpu消耗直接上升的原因

从flash player的实现机制来看,作为图像的绘制引擎,并不知道什么时候更新整个画面才是合适的逻辑,最简单的方法,自然是每一次有画面更新,就重画相关区域(根据windows的api,可以通过每一次有更新操作时,invalidate一个区域的显示)

这个有待验证,计划写一下代码来测试一下

你可能感兴趣的:(windows,Flash)