当视图被隐藏或 alpha=0 时,它仍然消耗 CPU 功率还是被忽略?
如果我走:
[view setAlpha:0];
然后
[view setFrame:newFrameRect];
这对性能有何影响?
当视图被隐藏或 alpha=0 时,它仍然消耗 CPU 功率还是被忽略?
如果我走:
[view setAlpha:0];
然后
[view setFrame:newFrameRect];
这对性能有何影响?
“alpha 为零的东西仍然被绘制,但是隐藏的视图不会重绘到屏幕上。因为这只会在视图发生变化时发生,所以差异应该是微不足道的......”
因此,setHidden 很有用,而更改 alpha 则没有那么有益。
一般来说,就记忆而言,几乎没有什么好处。您需要从视图中移除以最大限度地提高性能,但变化是如此之小,它可能无关紧要。
我怀疑会有很大的不同。虽然我只是在这里推测。我之所以这么说是因为 ios 设备有一个 gpu,并且在当今时代,这些设备非常复杂。从某种意义上说是复杂的,如果 alpha 为 0,则没有要渲染的内容,因此它只是对处理周期的简单检查。而且我假设它足够聪明来进行这项检查,因为图形芯片足够聪明,不会渲染视口之外的东西(或隐藏在前景像素后面)。
也许在测试应用程序上运行性能工具会揭示一些更具体的东西。