2012-07-26 28 views

回答

6

在iOS上,圖形硬件基於平鋪渲染。分層視圖配置與硬件將內容組合到屏幕的方式非常接近。

在Mac OS上,硬件不使用平鋪渲染。當您要求提供層次支持的視圖時,您會增加程序的內存佔用量。在Mac OS上,屏幕通常是雙緩衝的,因此在任何時候都有兩個屏幕副本。我相信支持層的視圖也是雙緩衝的(對於這個位可能是錯誤的),所以你使用了更多的內存。當您打開層次支持的視圖時,您可以遞歸地爲視圖的所有子視圖執行此操作。如果你有很多重疊子視圖的視圖,你可以提高內存需求。

我不知道,但我懷疑,在Mac OS層支持的視圖呈現比非層支持視圖稍慢。渲染性能有很多因素,因此可能取決於具體情況。

我建議你自己做一些測試,視頻內存使用和真實世界的性能。 Xcode和樂器中的新OpenGL工具可讓您跟蹤視頻內存的使用情況。 (它與主內存不一樣)

+0

最近我一直在做更多的Mac OS開發,並且我可以告訴你層支持的視圖在Mac OS上是松鼠。你會得到奇怪的繪畫文物,閃爍和其他不好的東西。你必須挑選你打開它的位置。 – 2014-12-20 03:41:30

+0

你想在哪裏使用它? – Sam 2015-02-11 07:44:10

相關問題