4

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

如果我走:

[view setAlpha:0];

然后

[view setFrame:newFrameRect];

这对性能有何影响?

4

2 回答 2

3

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

编辑

因此,setHidden 很有用,而更改 alpha 则没有那么有益。

一般来说,就记忆而言,几乎没有什么好处。您需要从视图中移除以最大限度地提高性能,但变化是如此之小,它可能无关紧要。

于 2013-01-17T20:31:11.507 回答
1

我怀疑会有很大的不同。虽然我只是在这里推测。我之所以这么说是因为 ios 设备有一个 gpu,并且在当今时代,这些设备非常复杂。从某种意义上说是复杂的,如果 alpha 为 0,则没有要渲染的内容,因此它只是对处理周期的简单检查。而且我假设它足够聪明来进行这项检查,因为图形芯片足够聪明,不会渲染视口之外的东西(或隐藏在前景像素后面)。

也许在测试应用程序上运行性能工具会揭示一些更具体的东西。

于 2013-01-17T20:33:13.140 回答