内存使用+使用可见vs添加/删除阶段时的性能

fre*_*ust 3 apache-flex memory performance

这两种情况之间是否存在性能和/或内存使用差异?

场景1:所有N个视觉元素都添加到舞台上; N-1有visible = false,1有visible = true;

场景2:N个视觉元素,任何时候只有1个添加到舞台.

谢谢!

Bos*_*h99 6

Visible = false 要快得多.

Colin Moock以明确的方式对这个问题进行了权衡.他的发现:

10000 removeChild()调用花了300ms,而10000可见赋值花了7ms.

他的基本准则是:

  • removeChild() - 为了可预测地控制显示列表,添加和删除.
  • visible=false- 直接表现,visible显然更快;

就"可预测性"而言,我们经常使用显示列表作为堆栈来识别和控制显示对象.如果您正在利用可见性,那么您将失去该状态(这可能是一个大问题).但最后,如果要求表现,胜利者是明确的.

我知道你的帖子是针对Flex的,但我认为,在这种情况下,我们正在讨论SWF的行为,所以flex/flash应该无关紧要.