macOS圖形性能調(diào)試工具Quartz Debug

在macOS上有個專門來調(diào)試圖形性能的工具,叫做,Quartz Debug 。它存在于一個叫做Additional_Tools_for_Xcode的擴(kuò)展工具包中,每個xcode版本都有對應(yīng)的擴(kuò)展工具包dmg,如xcode10.1,需要下載Additional_Tools_for_Xcode_10.1,可以在這里下載到。本文主要內(nèi)容參考《iOS和macOS性能優(yōu)化:Cocoa、Cocoa Touch、Objective-C和Swift》,Quartz Debug提供了許多工具來幫助您調(diào)試應(yīng)用程序中與圖形相關(guān)的問題。下面討論Quartz調(diào)試的特性。

Quartz Debug Settings

image.png

使用此面板切換常用加速和調(diào)試選項。提供以下選擇:

  • Enable Quartz Debug

啟用/禁用所有選項。

  • Disable 2D Acceleration

禁用所有2D加速。

所謂2D加速是指2D圖形硬件加速,即開啟GPU。強(qiáng)制進(jìn)行GPU渲染,指的是在CPU性能不足或者想要節(jié)省CPU資源的情況下,強(qiáng)制系統(tǒng)使用GPU對系統(tǒng)和軟件的UI進(jìn)行渲染,由于在圖形方面GPU相比CPU具有天然優(yōu)勢,所以此情況下使用GPU渲染會得到更加流暢的界面體驗;

  • Autoflush drawing

每次繪圖操作后刷新內(nèi)容。
會關(guān)閉合并內(nèi)存的訪問模式,所以每個繪制操作都會直接展示在屏幕上(如果開啟Flash identical screen updates和Flash screen updates2個選項,可能會造成閃爍),這會產(chǎn)生更多的干擾信息,但是這樣會將繪制過程劃分的更細(xì),展示的矩形越多,就越能讓開發(fā)者了解系統(tǒng)是如何繪制的以及繪制過程發(fā)生了哪些變化。

  • Flash screen updates

在屏幕區(qū)域更新之前用黃色高亮顯示(正常)。DisableUpdate下的區(qū)域被涂成橙色。
該選項能讓你區(qū)分出那些刷新次數(shù)過于頻繁的地方。打開該選項可能會產(chǎn)生一些干擾數(shù)據(jù)。

  • Flash identical screen updates

用紅色高亮顯示冗余屏幕更新。冗余更新是指重新繪制未更改像素的情況。

開啟該選項后,Quartz會用紅色矩形塊標(biāo)注屏幕中重復(fù)刷新相同內(nèi)容的區(qū)域,這表示紅色區(qū)塊的繪制操作是多余的,應(yīng)該被刪除。

  • No delay after flash

移除閃爍屏幕更新后的延遲。

  • Show tracking rectangles

跟蹤矩形用綠色表示?;顒痈櫨匦蔚妮喞羌t色的。

  • Vertical Sync

切換垂直波束同步開關(guān)的窗口服務(wù)器屏幕更新。

UI Resolution

UI解析窗口允許控制用于用戶界面的當(dāng)前縮放因子。設(shè)置完成后,將立即向Dock應(yīng)用新的分辨率,但是應(yīng)用程序需要重新啟動才能獲取新的設(shè)置。

Framemeter

image.png

幀表顯示每秒屏幕更新的次數(shù)。還顯示了CPU使用情況。幀表輸出也可以在Quartz Debug Dock圖標(biāo)中獲得。

Dock Icon

可以將dock圖標(biāo)配置為顯示幀表和石英狀態(tài)。右鍵單擊dock圖標(biāo)或選擇Tools -> dock來配置這些選項

  • Show Framemeter History

幀速率繪制在每秒更新10次的圖形上,并顯示在dock中應(yīng)用程序圖標(biāo)的位置。該圖由當(dāng)前FPS讀取值著色,紅線表示更新速率為0……一條黃線31……一條綠線61……90 fps。


應(yīng)該注意,隨著Quartz Debug的運(yùn)行,應(yīng)用程序與平常的運(yùn)行狀態(tài)有一點(diǎn)區(qū)別,繪制這些額外的矩形會造成不小的開銷,你甚至可以感覺到屏幕在刷新的過程中有一些延遲。開啟一個Flash選項,然后嘗試拖拽窗口,這時不僅能看到有很多閃爍效果,拖拽的過程也變的很遲鈍。關(guān)閉延遲能讓性能恢復(fù)正常,但閃爍會導(dǎo)致肉眼難以識別屏幕上的情況。


參考資料:
iOS和macOS性能優(yōu)化:Cocoa、Cocoa Touch、Objective-C和Swift

《Quartz Debug 4.0 Help(位于Quartz Debug 的help中)》

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

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

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