使用Xcode8的Instruments檢測圖形性能

關于圖形性能方面懒棉,我們平時最關注的應該就是「幀率」這個概念了巷懈。在 Instruments 中该抒,我們可以使用 Core Animation

  • Time Profiler
    來評估圖形性能。使用步驟如下:
    1顶燕、同「CPU 占用性能測試」一樣凑保,先在 Xcode 中對當前的項目執(zhí)行 Profile (Command-I),并在打開的對話框中選擇 Core Animaiton
    這個模板:
    image

    2涌攻、進入 Instruments 后欧引,選擇正確的設備和應用程序。
    3恳谎、點擊紅色按鈕運行應用程序芝此,隨著我們操作 App 界面,就可以看到幀率的變化和數(shù)據了:
    image

    在滑動屏幕時因痛,幀率越高表示性能越好婚苹,幀率過低則意味著屏幕可能會出現(xiàn)卡頓。
    4鸵膏、在右下角面板的 Display Settings 區(qū)域膊升,我們可以看到多個 Debug Options:
    Color Blended Layers
    ,這個選項選項基于渲染程度對屏幕中的混合區(qū)域進行綠到紅的高亮顯示谭企,越紅表示性能越差廓译,會對幀率等指標造成較大的影響结胀。紅色通常是由于多個半透明圖層疊加引起。
    Color Hits Green and Misses Red
    责循,當 UIView.layer.shouldRasterize = YES
    時,耗時的圖片繪制會被緩存攀操,并當做一個簡單的扁平圖片來呈現(xiàn)院仿。這時候,如果頁面的其他區(qū)塊(比如 UITableViewCell 的復用)使用緩存直接命中速和,就顯示綠色歹垫,反之,如果不命中颠放,這時就顯示紅色排惨。紅色越多,性能越差碰凶。因為柵格化生成緩存的過程是有開銷的暮芭,如果緩存能被大量命中和有效使用,則總體上會降低開銷欲低,反之則意味著要頻繁生成新的緩存辕宏,這會讓性能問題雪上加霜。
    Color Copied Images
    砾莱,對于 GPU 不支持的色彩格式的圖片只能由 CPU 來處理瑞筐,把這樣的圖片標為藍色。藍色越多腊瑟,性能越差聚假。因為,我們不希望在滾動視圖的時候闰非,由 CPU 來處理圖片膘格,這樣可能會對主線程造成阻塞。
    Color Immediately
    河胎,通常 Core Animation Instruments 以每毫秒 10 次的頻率更新圖層調試顏色闯袒。對某些效果來說,這顯然太慢了游岳。這個選項就可以用來設置每幀都更新(可能會影響到渲染性能政敢,而且會導致幀率測量不準,所以不要一直都設置它)胚迫。
    Color Misaligned Images
    喷户,這個選項檢查了圖片是否被縮放,以及像素是否對齊访锻。被放縮的圖片會被標記為黃色褪尝,像素不對齊則會標注為紫色闹获。黃色、紫色越多河哑,性能越差避诽。
    Color Offscreen-Rendered Yellow
    ,這個選項會把那些離屏渲染的圖層顯示為黃色璃谨。黃色越多沙庐,性能越差。這些顯示為黃色的圖層很可能需要用 shadowPath 或者 shouldRasterize 來優(yōu)化佳吞。
    Color OpenGL Fast Path Blue
    拱雏,這個選項會把任何直接使用 OpenGL 繪制的圖層顯示為藍色。藍色越多底扳,性能越好铸抑。如果僅僅使用 UIKit 或者 Core Animation 的 API,那么不會有任何效果衷模。如果使用 GLKView 或者 CAEAGLLayer鹊汛,那如果不顯示藍色塊的話就意味著你正在強制 CPU 渲染額外的紋理,而不是繪制到屏幕算芯。
    Flash Updated Regions
    柒昏,這個選項會把重繪的內容顯示為黃色。不該出現(xiàn)的黃色越多熙揍,性能越差职祷。通常我們希望只是更新的部分被標記完黃色。

我們可以使用這些選項届囚,來監(jiān)測更加具體的圖形性能有梆。
5、我們還可以選擇使用 OpenGL ES Analysis
意系、GPU Driver
等模板來監(jiān)測圖形相關性能泥耀。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市蛔添,隨后出現(xiàn)的幾起案子痰催,更是在濱河造成了極大的恐慌,老刑警劉巖迎瞧,帶你破解...
    沈念sama閱讀 218,525評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件夸溶,死亡現(xiàn)場離奇詭異,居然都是意外死亡凶硅,警方通過查閱死者的電腦和手機缝裁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來足绅,“玉大人捷绑,你說我怎么就攤上這事韩脑。” “怎么了粹污?”我有些...
    開封第一講書人閱讀 164,862評論 0 354
  • 文/不壞的土叔 我叫張陵段多,是天一觀的道長。 經常有香客問我壮吩,道長衩匣,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,728評論 1 294
  • 正文 為了忘掉前任粥航,我火速辦了婚禮,結果婚禮上生百,老公的妹妹穿的比我還像新娘递雀。我一直安慰自己,他們只是感情好蚀浆,可當我...
    茶點故事閱讀 67,743評論 6 392
  • 文/花漫 我一把揭開白布缀程。 她就那樣靜靜地躺著,像睡著了一般市俊。 火紅的嫁衣襯著肌膚如雪杨凑。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,590評論 1 305
  • 那天摆昧,我揣著相機與錄音撩满,去河邊找鬼。 笑死绅你,一個胖子當著我的面吹牛伺帘,可吹牛的內容都是我干的。 我是一名探鬼主播忌锯,決...
    沈念sama閱讀 40,330評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼伪嫁,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了偶垮?” 一聲冷哼從身側響起张咳,我...
    開封第一講書人閱讀 39,244評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎似舵,沒想到半個月后脚猾,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 45,693評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡啄枕,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,885評論 3 336
  • 正文 我和宋清朗相戀三年婚陪,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片频祝。...
    茶點故事閱讀 40,001評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡泌参,死狀恐怖脆淹,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情沽一,我是刑警寧澤盖溺,帶...
    沈念sama閱讀 35,723評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站铣缠,受9級特大地震影響烘嘱,放射性物質發(fā)生泄漏。R本人自食惡果不足惜蝗蛙,卻給世界環(huán)境...
    茶點故事閱讀 41,343評論 3 330
  • 文/蒙蒙 一蝇庭、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧捡硅,春花似錦哮内、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至喷屋,卻和暖如春琳拨,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背屯曹。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評論 1 270
  • 我被黑心中介騙來泰國打工狱庇, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人恶耽。 一個月前我還...
    沈念sama閱讀 48,191評論 3 370
  • 正文 我出身青樓僵井,卻偏偏與公主長得像,于是被迫代替她去往敵國和親驳棱。 傳聞我的和親對象是個殘疾皇子批什,可洞房花燭夜當晚...
    茶點故事閱讀 44,955評論 2 355

推薦閱讀更多精彩內容