UIViews是alpha = 0还是hidden = YES仍然是性能费用?

时间:2013-01-17 20:24:11

标签: iphone ios cocoa-touch

当隐藏视图或alpha = 0时,它仍然会耗费CPU功率还是被忽略?

如果我去:

[view setAlpha:0];

然后

[view setFrame:newFrameRect];

这对性能有何影响?

2 个答案:

答案 0 :(得分:3)

“仍然绘制了alpha为零的东西,但是隐藏的视图不会重新绘制到屏幕上。因为这只会在视图发生变化时发生,差异应该是微不足道的......”

修改

因此,setHidden很有用,而改变alpha则不那么有用。

总的来说,记忆方面,没什么好处。您需要从视图中删除才能最大限度地提高性能,但变化非常小,可能无关紧要。

答案 1 :(得分:1)

我怀疑会有显着的差异。虽然我只是在这里推测。 我说这个的原因是因为ios设备有一个gpu,而且在这个时代这些都非常复杂。在某种意义上说,如果alpha为0,则没有任何东西需要渲染,所以它只是对处理周期的简单检查。而且我认为它足够聪明,可以进行此检查,因为图形芯片非常智能,无法渲染视口之外的东西(或隐藏在前景像素后面)。

也许在测试应用程序上运行性能工具会发现更具体的内容。