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

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Unity Profiler分析內(nèi)存使用狀況疑問(wèn)解答

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

掃碼添加小助手

加入工程師交流群

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

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

Unity Profiler分析內(nèi)存使用狀況疑問(wèn)解答

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

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

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

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

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

“System.ExecutableAndDlls”該項(xiàng)顯示的是執(zhí)行文件和所調(diào)用的庫(kù)(物理、渲染、IO等系統(tǒng)庫(kù))的總和。請(qǐng)不用擔(dān)心該選項(xiàng)的數(shù)值,因?yàn)楹芏郃pplication均在共用這些庫(kù),并且它對(duì)于真實(shí)游戲的內(nèi)存壓力非常小,而且也不會(huì)導(dǎo)致OS因?yàn)樵搩?nèi)存來(lái)Kill掉游戲。

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

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

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

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

5. 我們?cè)贓ditor中調(diào)試項(xiàng)目的時(shí)候發(fā)現(xiàn)紋理的內(nèi)存大小是其本身大小的兩倍,是因?yàn)閁nity把內(nèi)存和顯存的大小都計(jì)算進(jìn)去了嗎?

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

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

    關(guān)注

    9

    文章

    3174

    瀏覽量

    76168
  • Unity
    +關(guān)注

    關(guān)注

    1

    文章

    131

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

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

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

    HarmonyOS實(shí)戰(zhàn)開(kāi)發(fā)-內(nèi)存快照Snapshot Profiler功能使用指導(dǎo)

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

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

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

    Qualcomm Trepn Power Profiler常見(jiàn)問(wèn)題分析總結(jié)

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

    使用Snapdragon Profiler工具分析Dragonboard410c

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

    labview與unity通訊問(wèn)題

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

    直讀光譜儀疑問(wèn)解答

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

    關(guān)于電池的一些疑問(wèn)解答

    關(guān)于電池的一些疑問(wèn)解答 (1)電池不用時(shí),低溫冷藏,正確嗎?  錯(cuò)誤,將電池低溫冷藏并不能夠延長(zhǎng)電池的使用壽命
    發(fā)表于 11-13 14:25 ?749次閱讀

    投影機(jī)日常使用疑問(wèn)匯總與解答

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

    分析儀選購(gòu)疑問(wèn)解答分析

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

    華為BBU、RRU設(shè)備疑問(wèn)解答

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

    電視天線與電視接收300疑問(wèn)解答

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

    如何使用QML Profiler來(lái)分析QML應(yīng)用

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

    line_profiler性能分析工具簡(jiǎn)單的使用

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

    賽盛在線平臺(tái)疑問(wèn)解答系列(二)

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