Unity Profiler概述及Profiler window 說明

文章內(nèi)容主要翻譯自 官方文檔Profiler overview
內(nèi)容翻譯主要以機(jī)器翻譯為主烫幕,有翻譯錯誤的地方大家留言我可以及時更正

Profiler概述

Unity Profiler窗口可幫助您優(yōu)化您的游戲。它會為您報告在游戲的各個區(qū)域花了多少時間才顿。例如盯腌,它可以報告渲染溉知,動畫或游戲邏輯的時間百分比。

您可以分析GPU腕够,CPU级乍,內(nèi)存,渲染和音頻的性能帚湘。

要查看性能分析數(shù)據(jù)玫荣,請?jiān)诰庉嬈髦惺褂眯阅芊治龉δ芡嬗螒颍⒂涗浶阅軘?shù)據(jù)大诸。分析器窗口然后在時間軸上顯示數(shù)據(jù)捅厂,因此您可以看到尖峰(需要更多時間)的幀或區(qū)域。通過點(diǎn)擊時間線中的任何位置资柔,Profiler窗口的底部將顯示所選幀的詳細(xì)信息焙贷。

請注意,性能分析必須測試您的代碼(即:添加一些說明以方便檢查)贿堰。雖然這對游戲的性能影響很小辙芍,但開銷足夠小,不會影響游戲幀率。

有關(guān)使用該工具的提示

在使用分析工具時故硅,應(yīng)關(guān)注消耗最多時間的游戲部分庶灿。比較代碼更改前后的分析結(jié)果,并確定您測量的改進(jìn)吃衅。有時您為改善性能所做的更改可能會對幀速率產(chǎn)生負(fù)面影響; 您的代碼優(yōu)化可能會有意想不到的后果往踢。

有關(guān)Profiler窗口的詳細(xì)信息,請參閱Profiler窗口文檔徘层。

另請參閱:優(yōu)化圖形性能峻呕。

Profiler窗口

通過工具欄訪問Unity編輯器中的Profiler窗口:Window > Profiler

請參閱Profiler概述趣效,了解Profiler的工作原理山上。


Profiler控件位于窗口頂部的工具欄中。使用這些來打開和關(guān)閉仿形英支,并通過異形框架導(dǎo)航。傳輸控件位于工具欄的最右端哮伟。注意干花,當(dāng)游戲運(yùn)行時,探查器正在收集數(shù)據(jù)楞黄,點(diǎn)擊其中的任何一個傳輸控件暫停游戲池凄。控件進(jìn)入第一個記錄幀鬼廓,第一幀后退肿仑,第一幀向前,最后一幀碎税。

  • 添加要顯示數(shù)據(jù)的模塊 尤慰,已經(jīng)添加的為灰色
  • ** 在Editor模式下的性能消耗數(shù)據(jù),不需要運(yùn)行**


  • 連接真機(jī)上的選項(xiàng)
  • 清除 載入 保存 對應(yīng)的日志

Profiler不保存所有記錄的幀雷蹂,所以第一幀的概念實(shí)際上應(yīng)該是仍然保存在內(nèi)存中的最老的框架伟端。“當(dāng)前”傳輸按鈕使配置文件統(tǒng)計(jì)窗口顯示實(shí)時收集的數(shù)據(jù)匪煌≡痱穑活動分析器彈出菜單允許您選擇是否應(yīng)該在編輯器或單獨(dú)的播放器中進(jìn)行分析(例如,在附加的iOS設(shè)備上運(yùn)行的游戲)萎庭。保存按鈕允許您將錄制的幀寫入文件霜医。相應(yīng)地,加載按鈕讀取較早保存的數(shù)據(jù)驳规。你也可以加載二進(jìn)制文件數(shù)據(jù)寫入由球員(當(dāng)生成日志肴敛,設(shè)置Profiler.enableBinaryLog使二進(jìn)制格式)。如果按下Shift按鈕時單擊“加載”达舒,則將文件內(nèi)容附加到內(nèi)存中當(dāng)前概要文件幀中值朋。

  • 逐幀調(diào)整面板

深度分析

當(dāng)打開Deep Profile時叹侄,所有的腳本代碼都被定義了—也就是說,所有函數(shù)調(diào)用都被記錄下來昨登。這是有用的知道確切的時間花費(fèi)在你的游戲代碼趾代。

請注意,深度剖析會產(chǎn)生非常大的開銷丰辣,占用大量內(nèi)存撒强,因此,在進(jìn)行分析時笙什,您的游戲運(yùn)行速度會大大減慢飘哨。如果您使用的是復(fù)雜的腳本代碼,可能根本無法進(jìn)行深度剖析琐凭。對于簡單腳本的小游戲芽隆,深度剖析應(yīng)該足夠快。如果您發(fā)現(xiàn)對整個游戲的深度剖析會導(dǎo)致幀速率下降统屈,以至于游戲幾乎不能運(yùn)行胚吁,則應(yīng)該考慮不使用此方法,而使用下面描述的方法愁憔。當(dāng)您設(shè)計(jì)游戲并決定如何最佳實(shí)現(xiàn)關(guān)鍵特性時腕扶,您可能會發(fā)現(xiàn)深度剖析更有幫助。注意吨掌,對于大型游戲半抱,深度剖析可能會導(dǎo)致Unity耗盡內(nèi)存,因此膜宋,深度剖析可能是不可能的窿侈。

手動分析腳本代碼塊的開銷比使用深度分析的開銷小。使用Profiler.BeginSampleProfiler.EndSample腳本函數(shù)來啟用和禁用代碼段的分析

查看同步時間(View SyncTime)

在一個固定的幀率或帶垂直空白同步運(yùn)行時秋茫,Unity的記錄等待時間”等目標(biāo)FPS”棉磨。默認(rèn)情況下,分析器中沒有顯示此時間量学辱。查看有多少時間花在等待乘瓤,你可以切換“查看同步時間”。這也是一個衡量你有多少凈空高度之前失去幀策泣。

分析器時間軸(Profiler Timeline)

Profiler窗口的上部顯示時間的性能數(shù)據(jù)衙傀。當(dāng)你運(yùn)行一個游戲時,每個幀都記錄數(shù)據(jù)萨咕,最后幾百幀的歷史被顯示出來统抬。單擊特定的框架將顯示窗口下部的詳細(xì)信息。根據(jù)當(dāng)前選擇的時間線區(qū)域顯示不同的詳細(xì)信息。

時間軸的垂直比例是自動管理的聪建,并試圖填充窗口的垂直空間钙畔。注意,為了在CPU使用區(qū)域中獲得更多細(xì)節(jié)金麸,可以刪除內(nèi)存和呈現(xiàn)區(qū)域擎析。此外,可以選擇時間線和統(tǒng)計(jì)區(qū)域之間的拆分器挥下,并向下拖動揍魂,以增加用于時間線圖的屏幕區(qū)域。


時間軸由幾個方面組成:CPU使用棚瘟、渲染和內(nèi)存现斋。可以通過單擊面板中的“關(guān)閉”按鈕刪除這些區(qū)域偎蘸,然后使用“配置文件”控件欄中的“添加區(qū)域”下拉重新添加這些區(qū)域庄蹋。


注意,標(biāo)記區(qū)域中的彩色方塊可以控制是否顯示關(guān)聯(lián)的時間線迷雪。若要從顯示中移除樣本蔓肯,請單擊顏色鍵。鍵將變暗振乏,數(shù)據(jù)將從圖中刪除。這對于識別CPU圖中的尖峰的原因是有用的秉扑,例如慧邮。


WebGL的

您可以在WebGL上使用Unity分析器,就像在任何其他平臺上一樣舟陆。一個重要的區(qū)別是误澳,你不能附加在WebGL中運(yùn)行播放器,因?yàn)閃ebGL使用WebSockets進(jìn)行通信秦躯,這將不允許瀏覽器端的傳入連接忆谓。相反,您需要在構(gòu)建設(shè)置中使用“Autoconnect Profiler”復(fù)選框踱承。還要注意的是倡缠,繪制調(diào)用目前不能用于WebGL的剖析。

遠(yuǎn)程分析(Remote Profiling)

為了在另一臺設(shè)備上運(yùn)行游戲茎活,或者在另一臺計(jì)算機(jī)上運(yùn)行Unity播放器昙沦,可以將Unity編輯器連接到其他設(shè)備或計(jì)算機(jī)。下拉式Active Profiler顯示在本地網(wǎng)絡(luò)上運(yùn)行的所有Unity播放器载荔。這些球員是確定的球員類型和運(yùn)行播放器的主機(jī)名”iphoneplayer(Toms iPhone)”盾饮。

要連接到Unity播放器,必須將Unity播放器作為Development build (菜單:File > Build Settings……)啟動。

檢查對話框中的Development Build選項(xiàng)丘损。從這里您還可以檢查Autoconnect Profiler在啟動時編輯器和播放器自動連接普办。

iOS版

通過以下步驟在iOS設(shè)備上啟用遠(yuǎn)程分析:

  1. 將您的iOS設(shè)備連接到您的WiFi網(wǎng)絡(luò)。(Profiler使用本地WiFi網(wǎng)絡(luò)將設(shè)備的性能分析數(shù)據(jù)發(fā)送到Unity編輯器徘钥。)
  2. 在Unity Editor的Build Settings對話框中(菜單:File > Build Settings ...)衔蹲,勾選Autoconnect Profiler復(fù)選框。
  3. 通過電纜將設(shè)備連接到Mac吏饿。在Unity Editor的Build Settings對話框(菜單:File __> __ Build Settings ...)中踪危,勾選Autoconnect Profiler復(fù)選框檢查并選擇Build&Run
  4. 在設(shè)備上啟動應(yīng)用程序時猪落,在Unity編輯器(窗口 > 分析器)中打開Profiler窗口贞远。

如果使用防火墻,則需要確保端口54998到55511在防火墻的出站規(guī)則中處于打開狀態(tài) - 這些是Unity用于遠(yuǎn)程分析的端口笨忌。

注意:有時Unity編輯器可能不會自動連接到設(shè)備蓝仲。在這種情況下,您可以通過選擇適當(dāng)?shù)脑O(shè)備從Profiler窗口Active Profiler下拉菜單啟動Profiler連接官疲。

Android的

有兩種方法可以在Android設(shè)備上啟用遠(yuǎn)程分析:WiFi或ADB袱结。

對于WiFi分析,請按照下列步驟操作:

  1. 確保在Android設(shè)備上禁用移動數(shù)據(jù)途凫。
  2. 將Android設(shè)備連接到WiFi網(wǎng)絡(luò)(Profiler使用本地WiFi網(wǎng)絡(luò)將設(shè)備的性能分析數(shù)據(jù)發(fā)送到Unity編輯器垢夹。)
  3. 通過電纜將設(shè)備連接到Mac或PC。檢查Unity的Build Settings對話框中的Development BuildAutoconnect Profiler復(fù)選框维费,然后在Unity Editor中點(diǎn)擊Build&Run果元。
  4. 在設(shè)備上啟動應(yīng)用程序時,在Unity編輯器(菜單:Window > Profiler)中打開Profiler窗口犀盟。
  5. 如果Unity Editor無法自動連接到設(shè)備而晒,請從Profiler窗口的Active Profiler下拉菜單中選擇適當(dāng)?shù)脑O(shè)備。

注意: Android設(shè)備和主機(jī)(運(yùn)行Unity編輯器)必須位于相同的子網(wǎng)上才能使設(shè)備檢測正常工作阅畴。

對于ADB分析倡怎,請按照下列步驟操作:

  • 將設(shè)備通過電纜連接到Mac或PC,并確保ADB識別設(shè)備(即在adb設(shè)備列表中顯示)贱枣。
  • 在Unity Editor的Build Settings對話框(菜單:File __> __ Build Settings ...)中监署,選中Development Build__checkboxcheck并選擇 Build&Run__。
  • 在設(shè)備上啟動應(yīng)用程序時纽哥,在Unity編輯器(菜單:窗口 > 分析器)中打開Profiler窗口焦匈。
  • 從Profiler Window Active Profiler下拉菜單中選擇AndroidProfiler(ADB@127.0.0.1:34999)注意:當(dāng)您點(diǎn)擊Build&Run時昵仅,Unity Editor會自動為您的應(yīng)用程序創(chuàng)建一個adb隧道缓熟。如果要分析另一個應(yīng)用程序累魔,或者重新啟動adb服務(wù)器,則必須手動設(shè)置此隧道够滑。為此垦写,請打開終端窗口/ CMD提示符并輸入:
adb forward tcp:34999 localabstract:Unity-{insert bundle identifier here}

注意:下拉菜單中的條目僅在所選目標(biāo)是Android時才可見。

如果使用防火墻彰触,則需要確保端口54998到55511在防火墻的出站規(guī)則中處于打開狀態(tài) - 這些是Unity用于遠(yuǎn)程分析的端口梯投。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市况毅,隨后出現(xiàn)的幾起案子分蓖,更是在濱河造成了極大的恐慌,老刑警劉巖尔许,帶你破解...
    沈念sama閱讀 206,482評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件么鹤,死亡現(xiàn)場離奇詭異,居然都是意外死亡味廊,警方通過查閱死者的電腦和手機(jī)蒸甜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來余佛,“玉大人柠新,你說我怎么就攤上這事』匝玻” “怎么了恨憎?”我有些...
    開封第一講書人閱讀 152,762評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長郊楣。 經(jīng)常有香客問我憔恳,道長,這世上最難降的妖魔是什么痢甘? 我笑而不...
    開封第一講書人閱讀 55,273評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮茉贡,結(jié)果婚禮上塞栅,老公的妹妹穿的比我還像新娘。我一直安慰自己腔丧,他們只是感情好放椰,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,289評論 5 373
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著愉粤,像睡著了一般砾医。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上衣厘,一...
    開封第一講書人閱讀 49,046評論 1 285
  • 那天如蚜,我揣著相機(jī)與錄音压恒,去河邊找鬼。 笑死错邦,一個胖子當(dāng)著我的面吹牛探赫,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播撬呢,決...
    沈念sama閱讀 38,351評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼伦吠,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了魂拦?” 一聲冷哼從身側(cè)響起毛仪,我...
    開封第一講書人閱讀 36,988評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎芯勘,沒想到半個月后箱靴,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,476評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡借尿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,948評論 2 324
  • 正文 我和宋清朗相戀三年刨晴,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片路翻。...
    茶點(diǎn)故事閱讀 38,064評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡狈癞,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出茂契,到底是詐尸還是另有隱情蝶桶,我是刑警寧澤,帶...
    沈念sama閱讀 33,712評論 4 323
  • 正文 年R本政府宣布掉冶,位于F島的核電站真竖,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏厌小。R本人自食惡果不足惜恢共,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,261評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望璧亚。 院中可真熱鬧讨韭,春花似錦、人聲如沸癣蟋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽疯搅。三九已至濒生,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間幔欧,已是汗流浹背罪治。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評論 1 262
  • 我被黑心中介騙來泰國打工丽声, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人规阀。 一個月前我還...
    沈念sama閱讀 45,511評論 2 354
  • 正文 我出身青樓恒序,卻偏偏與公主長得像,于是被迫代替她去往敵國和親谁撼。 傳聞我的和親對象是個殘疾皇子歧胁,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,802評論 2 345

推薦閱讀更多精彩內(nèi)容