这两种情况之间是否存在性能和/或内存使用差异?
场景1:N个视觉元素全部添加到舞台; N-1有visible = false,1有visible = true;
场景2:N个视觉元素,任何时候只有1个添加到舞台上。
THX!
答案 0 :(得分:6)
Visible = false
要快得多。
Colin Moock has weighed in on this issue in a definitive manner。 他的发现:
10000 removeChild()调用耗时300ms,而10000可见 任务花了7ms。
他的基本准则是:
removeChild()
- 用于显示列表的可预测控制,添加和删除。visible=false
- 为了直接表现,visible
显然更快; 就“可预测性”而言,我们经常使用显示列表作为堆栈来识别和控制显示对象。如果您正在利用可见性,那么您将失去该状态(这可能是一个大问题)。但最后,如果要求表现,胜利者是明确的。
我发现你的帖子是针对Flex的,但我认为,在这种情况下,我们正在谈论SWF的行为,所以flex / flash应该不重要。