Instruments 使用

閑著沒事,想起最近好多關(guān)于性能的文章,決定去研究一下Instruments 的使用。

要使用就得知道這東西是啥。

官方文檔點這個鏈接https://developer.apple.com/library/ios/documentation/DeveloperTools/Conceptual/InstrumentsUserGuide/

還有一個不知道什么版本的中文翻譯鏈接http://cdn.cocimg.com/bbs/attachment/Fid_6/6_24457_90eabb4ed5b3863.pdf

Core Animation

第一個選項 混合圖層

設(shè)備會把當前圖層和背景圖層進行alphe疊加,這是一項很耗性能的一件事。如果動畫中每一幀都做疊加,性能的損耗是很嚴重。

優(yōu)化方式:

1.uiview 盡量設(shè)成與superview 同背景色

2.貼圖避免使用帶alpha通道的圖片,

如果必須使用Alpha,則主動去Alpha,提前和背景色合成為不含Alpha的圖片

3.UIImageview 避免使用半透明

UIImageview的半透明取決于一下幾項

1.顯示的圖片

2.View的opaque屬性的值

3.View的alpha值

4.View的背景色

當Opaque屬性為YES的時候,imageView的alpha屬性會被忽略,圖層是否半透明取決于圖片和imageView本身的背景色的疊加結(jié)果。

如果疊加結(jié)果圖全部不透明,則圖層不透明,不會觸發(fā)blend操作。

如果疊加結(jié)果中出現(xiàn)半透明區(qū)域,則整個圖層都會變成不透明,會觸發(fā)blend操作。

如果Opaque屬性為NO的時候,圖層是否半透明取決于圖片和imageView的multiplied疊加結(jié)果確定。

簡單理解,如果可能盡量:

設(shè)置Opaque為YES(其實默認就是YES)

背景色設(shè)置為不含alpha的顏色

alpha值最好也是1(不透明)

適用場景:

通用優(yōu)化規(guī)則,不會造成副作用

Color Hits Green and Misses Red

能夠使用緩存的光柵化標為綠色。

這個選項主要是檢測我們有無濫用或正確使用layer的shouldRasterize屬性.成功被緩存的layer會標注為綠色,沒有成功緩存的會標注為紅色。

在測試的過程中,第一次加載時,開啟光柵化的layer會顯示為紅色,這是很正常的,因為還沒有緩存成功。但是如果在接下來的測試,例如我們來回滾動TableView時,我們?nèi)匀话l(fā)現(xiàn)有許多紅色區(qū)域,那就需要謹慎對待了。因為像我們前面討論過的,這會引起offscreen rendering。

檢查一下是否有濫用該屬性,因為系統(tǒng)規(guī)定的緩存大小是屏幕大小的2.5倍,如果使用過度,超出了緩存大小,會引起offscreen rendering。檢測layer是否內(nèi)容不斷更新,內(nèi)容的更新會導致緩存失效和大量的offscreen rendering.

Color copied images

這個選項主要檢查我們有無使用不正確圖片格式,若是GPU不支持的色彩格式的圖片則會標記為青色,則只能由CPU來進行處理。我們不希望在滾動視圖的時候,CPU實時來進行處理,因為有可能會阻塞主線程。

Color misaligned images

這個選項檢查了圖片是否被放縮,像素是否對齊。被放縮的圖片會被標記為黃色,像素不對齊則會標注為紫色。

Color offscreen-rendered yellow

這個選項將需要offscreen渲染的的layer標記為黃色。

NavigationBar和ToolBar被標記為黃色。因為它們需要模糊背后的內(nèi)容,這需要offscreen渲染。但是這是我們需要的。而圖片也是被標記為黃色,那是因為陰影的緣故。我前面已經(jīng)提到了這一點,如果此時我們用shadowPath來替代的話,就能夠避免offscreen渲染帶來的巨大開銷。

Color OpenGL fast path blue

這個選項勾選后,由OpenGL compositor進行繪制的圖層會標記為藍色。這是一個好的結(jié)果。

Flash updated regions

會標記屏幕上被快速更新的部分為黃色,我們希望只是更新的部分被標記完黃色。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容