日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

UE4内存检测工具使用

發(fā)布時(shí)間:2023/12/3 编程问答 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UE4内存检测工具使用 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

UE4提供了2個(gè)工具用于檢測(cè)內(nèi)存使用情況,這里記錄下使用方法:

1.MemReport命令:

直接在UE4編輯器窗口的命令控制臺(tái)上輸入MemReport或MemReport -full即可得到內(nèi)存分析報(bào)告。MemReport -full 會(huì)得到更加詳細(xì)的分析報(bào)告。報(bào)告保存在Game/Saved/Profiling/MemReports目錄下,文件格式為.memreport,使用文本編輯器就能打開查看。

MemReport這個(gè)指令可以在引擎目錄下的\Engine\Config\BaseEngine.ini中查看并根據(jù)需要進(jìn)行修改和定制。

MemReport的內(nèi)存分析報(bào)告中包含了內(nèi)存使用總量、對(duì)象列表和內(nèi)存使用情況、Actor數(shù)量及信息等。我們可以隔一段時(shí)間使用MemReport統(tǒng)計(jì)一下內(nèi)存,對(duì)比一下二者差異排查是否有內(nèi)存泄漏。

2.MemoryProfiler工具:

這個(gè)工具需要手動(dòng)編譯一下,打開 Engine\Source\Programs\MemoryProfiler2\MemoryProfiler2.sln 工程文件,然后編譯。編譯完成后的可執(zhí)行文件MemoryProfiler2.exe位于 Engine\Programs\MemoryProfiler2\Binaries 目錄下。

打開Malloc Profiler有兩種方式:

1)一種是在要編譯的工程修改引擎和項(xiàng)目對(duì)應(yīng)的xxx.Target.cs,在其構(gòu)造函數(shù)中增加

bUseMallocProfiler = true;
bOmitFramePointers = false;
然后編譯即可;

2)另外一種方式是在 Engine\Saved\UnrealBuildTool\BuildConfiguration.xml 文件中,修改 bUseMallocProfiler 為 true,bOmitFramePointers 為 false。但是這種方式是全局性的,包括Editor都會(huì)打開 Malloc Profiler,所以不太推薦使用。

在編輯器窗口的命令控制臺(tái)上輸入 MPROF MARK 生成內(nèi)存快照,也可以 MPROF MARK SnapshotName 來給快照指定名稱,輸入 MPROF STOP 命令停止內(nèi)存監(jiān)控。快照會(huì)保存在 Game/Saved/Profiling/ 目錄下生成以日期時(shí)間為后綴的目錄,目錄中包含 .mprof 內(nèi)存記錄文件。

UE4也支持通過埋點(diǎn)的方式記錄需要關(guān)注的程序運(yùn)行內(nèi)存情況。先要在MallocProfiler.h文件中的 EProfilingPayloadSubType 的 SUBTYPE_LicenseeBase 后面添加一個(gè)枚舉類型 SUBTYPE_MY_TEST_TAG = 51,然后在MallocProfiler.cpp文件 FmallocProfiler中 添加一個(gè)函數(shù):

void FMallocProfiler::SnapshotMemoryMyTestTag(const FString& Tag)
{
? ? if (GMallocProfiler && !GMallocProfiler->bEndProfilingHasBeenCalled)
? ? {
? ? ? ? GMallocProfiler->SnapshotMemory(SUBTYPE_MY_TEST_TAG, Tag);
? ? }
}
最后在需要埋點(diǎn)的程序中插入代碼即可:

MALLOC_PROFILER(FMallocProfiler::SnapshotMemoryMyTestTag(MyTest);)

運(yùn)行上面生成的MemoryProfiler2.exe,點(diǎn)擊File -> Open 打開 .mprof 文件,然后點(diǎn)擊工具欄最后的 Go 按鈕即可分析內(nèi)存。

總結(jié)

以上是生活随笔為你收集整理的UE4内存检测工具使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。