chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Unity Profiler分析內存使用狀況疑問解答

汽車玩家 ? 來源:SegmentFault ? 作者:SegmentFault ? 2020-01-31 09:52 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在使用Unity開發(fā)游戲的過程中,借助Profiler來分析內存使用狀況是至關重要的。但許多開發(fā)者可能還對Profiler中各項數(shù)據(jù)表示的含義不甚明確,Unity官方的技術工程師柳振東,將針對Profiler內存分析相關的問題及解答,與大家進行分享。

要想完全發(fā)揮Profiler內存分析的威力,首先要做的就是了解Profiler展示的數(shù)據(jù)所表達的含義,以及到底哪些模塊所使用的內存才會被統(tǒng)計到Unity的Profiler中。Profiler涉及到的知識點還有很多,我們今天先從中挑選一些大家常有的疑問來作解答。

Unity Profiler分析內存使用狀況疑問解答

1. 在Unity的Profiler中看到的總內存使用和我使用其它工具看到的系統(tǒng)內存占用不太一樣,這是為什么呢?

Profiler中看到的內存是通過Unity自身引擎看到的內存分配,凡是引擎Allocation和Deallocation的內存,引擎均有記錄,所以我們可以給出確切的引擎內存占用信息。但是,仍有其他內存我們是無法獲知的。

比如,如果引擎使用了第三方庫,那么庫分配的內存我們是無法進行統(tǒng)計的。另外,在移動設備上大家看到的內存,其實都要比Profiler大很多,這是因為不管是通過Xcode的Instrument還是通過Android的USS,其記錄的真實物理內存都包括兩部分,一個是真實Used的物理內存,另一個則是緩存的(Cached)的物理內存。這是OS所決定的,Android和iOS系統(tǒng)在資源不使用時均不會立即將其進行回收,而是將其放在緩存的物理內存中,以便下次再用時,可以快速地加載。當系統(tǒng)發(fā)現(xiàn)App的內存不夠用時,才會在底層調用一個memory killer線程來輪詢緩存物理內存,進而為app來清理內存。而Unity Profiler記錄的則是目前真實使用的物理內存,即上述所說的第一部分。因此,當游戲運行時間越長,Profiler分配內存和通過其他軟件獲得的系統(tǒng)內存差距會越大。

因此,只要所使用的第三方庫不存在內存泄露問題,我們一般都建議只需要查看Profiler即可,只要Profile中的內存可以保證正常升高和回落,那么引擎這邊分配的內存就是沒有問題的。

2. 我們做項目的時候發(fā)現(xiàn)有時profiler中System.ExecutableAndDlls這項占用很多,有什么解決辦法嗎?

“System.ExecutableAndDlls”該項顯示的是執(zhí)行文件和所調用的庫(物理、渲染、IO等系統(tǒng)庫)的總和。請不用擔心該選項的數(shù)值,因為很多Application均在共用這些庫,并且它對于真實游戲的內存壓力非常小,而且也不會導致OS因為該內存來Kill掉游戲。

3. 為什么在Profiler中的Simple模式下,Used Total的數(shù)值不等于其右邊各項Unity,Mono,GfxDriver,FMOD與Profiler總和呢?

其實在Unity中,Used Total的計算公式為Used Total = Unity + Mono + GfxDriver + Profiler + additionalUsedMemory。公式中的additionalUsedMemory項在profiler中并沒有顯示,因為這一項一般情況下都為0,只在某些特殊發(fā)布平臺下才會有數(shù)值(一般Android,PC和IOS都為0)。因此一般情況下Used Total的值就是除FMOD之外各項的總和了。當然,這個規(guī)則對于Reserved Total是同樣適用的。

4. 我們項目的資源主要使用AssetBundle動態(tài)加載資源,發(fā)現(xiàn)Profiler中Detailed模式下PersistentManager.Remapper一項占用時多時少,這一項主要是做什么的呢?

Remapper主要提供文件的持久化存儲,包括各種序列化的asset,項目的setting文件等,維護文件系統(tǒng)的中的文件與內存中數(shù)據(jù)的對應關系。那么如果項目大量使用AssetBundle的話,在對AssetBundle進行Unload之前都會需要占用Remapper的內存的。而Remapper本身的實現(xiàn)使用內存池,其數(shù)值只會增大,那么為了使Remapper占用的內存保持在一個穩(wěn)定的數(shù)值上,我們需要每次在加載一定數(shù)量的AssetBundle之后進行Unload操作,而不要一次性把所有AssetBundle都加載后才調用Unload。(這樣的操作對維持整個mono heap的大小也是至關重要的,因為mono heap本身也是只增大不減小的)

5. 我們在Editor中調試項目的時候發(fā)現(xiàn)紋理的內存大小是其本身大小的兩倍,是因為Unity把內存和顯存的大小都計算進去了嗎?

其實并不是這個原因,因為Editor本身會保有紋理的一份內存,在Editor下進行profiler會把Editor本身所使用的紋理大小也計算進去,因此會有內存變?yōu)閮杀兜那闆r。我們官方并不建議在Editor下對項目進行性能調試,而是務必要在真機上跑編譯好的項目,然后連接profiler進行調試,只有這樣才能得到真正精確的測試數(shù)據(jù)。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 內存
    +關注

    關注

    8

    文章

    3156

    瀏覽量

    75882
  • Unity
    +關注

    關注

    1

    文章

    129

    瀏覽量

    22953
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    鴻蒙開發(fā)-DevEco Studio Profiler工具進行幀率分析

    Frame Profiler概述 DevEco Studio內置Profiler分析調優(yōu)工具,其中Frame分析調優(yōu)功能,用于錄制GPU數(shù)據(jù)信息,錄制完成展開之后的子泳道對應錄制過程中
    發(fā)表于 01-16 19:34

    HarmonyOS實戰(zhàn)開發(fā)-內存快照Snapshot Profiler功能使用指導

    DevEco Studio集成的DevEco Profiler性能調優(yōu)工具(以下簡稱為Profiler),提供Time、Allocation、Snapshot、CPU等場景化分析任務類型。內存
    發(fā)表于 05-11 13:51

    使用Trepn Profiler工具分析Dragonboard410c的功耗和性能

    一些數(shù)據(jù)點。設置監(jiān)控CPU、GPU和內存的負載情況,同時監(jiān)控耗電情況,再運行Firefox火狐瀏覽器可以清楚的看到每個數(shù)據(jù)點的實時使用情況,使用Trepn Profiler工具來分析Dragonboard410c是非常方便的。
    發(fā)表于 09-25 16:09

    Qualcomm Trepn Power Profiler常見問題分析總結

    以前對Trepn Power Profiler進行過簡單的介紹,這是Qualcomm開發(fā)的一個工具,主要對android設備的功耗和性能進行分析。今天簡單總結一下,在使用過程中比較常見的問題。 1.
    發(fā)表于 09-25 16:14

    使用Snapdragon Profiler工具分析Dragonboard410c

    之前簡單介紹了一下Snapdragon Profiler工具,現(xiàn)在我們實際用它來分析一下Dragonboard410c。啟動和配置1、我的系統(tǒng)是ubuntu16.04,直接在Terminal進入
    發(fā)表于 09-25 16:14

    labview與unity通訊問題

    labview能與unity通訊嗎,求解答
    發(fā)表于 06-16 15:23

    直讀光譜儀疑問解答

      直讀光譜儀疑問解答   1.直讀光譜儀測試出的合金分析曲線好壞怎么辨別?   主要看在作完工作曲線后,通過工作曲線的標樣的測定值與真值之間的差異,偏
    發(fā)表于 09-01 15:51 ?10次下載

    關于電池的一些疑問解答

    關于電池的一些疑問解答 (1)電池不用時,低溫冷藏,正確嗎?  錯誤,將電池低溫冷藏并不能夠延長電池的使用壽命
    發(fā)表于 11-13 14:25 ?719次閱讀

    投影機日常使用疑問匯總與解答

    投影機日常使用疑問匯總與解答 Q:投影機連接筆記本電腦, 無輸出影像?
    發(fā)表于 02-06 09:36 ?450次閱讀

    分析儀選購疑問解答分析

    如何在眾多型號的分析儀中選擇合適的一款需要多方面的考慮,本文將為您解答在挑選市場上各種分析儀時所遇到的疑問,并幫助您做出正確的選購決定。
    發(fā)表于 02-11 11:36 ?812次閱讀
    <b class='flag-5'>分析</b>儀選購<b class='flag-5'>疑問</b><b class='flag-5'>解答</b><b class='flag-5'>分析</b>

    華為BBU、RRU設備疑問解答

    華為BBU、RRU設備疑問解答,各位支持下哦?。。。?!
    發(fā)表于 11-18 16:55 ?16次下載

    電視天線與電視接收300疑問解答

    關于對電視天線與電視接收300疑問解答。
    發(fā)表于 03-17 15:25 ?30次下載
    電視天線與電視接收300<b class='flag-5'>疑問</b><b class='flag-5'>解答</b>

    如何使用QML Profiler分析QML應用

    在QML應用開發(fā)過程中,可以使用QML Profiler來查找應用程序中典型性能問題的原因,例如啟動慢、響應慢、用戶界面不流暢等。
    的頭像 發(fā)表于 09-13 11:37 ?2787次閱讀

    line_profiler性能分析工具簡單的使用

    line_profiler 是一個用于對函數(shù)進行逐行分析的模塊。Python 當前的分析工具僅僅支持一個函數(shù)的時間消耗分析。
    的頭像 發(fā)表于 03-03 14:39 ?3197次閱讀
    line_<b class='flag-5'>profiler</b>性能<b class='flag-5'>分析</b>工具簡單的使用

    賽盛在線平臺疑問解答系列(二)

    02賽盛在線平臺疑問解答系列(二)sesOnlineSES前言賽盛技術于2024年10月17日隆重發(fā)布了最新產(chǎn)品《賽盛在線學習及工具應用平臺》,引起了廣大朋友的熱切關注。特別是平臺中的計算工具,更是
    的頭像 發(fā)表于 11-09 01:06 ?571次閱讀
    賽盛在線平臺<b class='flag-5'>疑問</b><b class='flag-5'>解答</b>系列(二)