GameDesign 板


LINE

※ 引述《Euteamo (Euteamo)》之銘言: : 嗨 各位先進大家好 : 小弟最近在研究Unity3D,想要在Unity得到系統資訊: : 例如 : CPU資訊、顯卡資訊、作業系統版本、記憶體大小等等 : 這些都可以很容易可以利用Unity的SystemInfo得到,但是如標題,我想從Unity得到當前這個遊戲的記憶體使用量 : 有試過用.NET的System.Diagnostics.Process裡面的方法,利用PID去取記憶體大小,在Visual Studio的環境可以正確取得,但是在Unity下怎麼取都只會得到"0" : 也有試過直接用Unity的profiler去取記憶體,只是跟我在工作管理員下看到的記憶體大小有點差距 : 不知道有沒有先進,可以提點一下,為什麼在Unity下取道的都是"0",或是有其他方法可以取到當前遊戲的記憶體使用量? 小弟試著寫了一下....大概像下面這樣子 http://imgur.com/WzJZ9yZ 扣掉Profiler用的記憶體,應該是有對應到實際用量 如果有錯歡迎各位大大指教 程式碼如下所示 (其實我不太喜歡用GUI, 不過隨便啦XD) public class MemShow : MonoBehaviour { public float MonoMemUsage = 0f; public float UnityMemUsage = 0f; StringBuilder _str = new StringBuilder(); void Update () { //! Calculate memory usage MonoMemUsage = System.GC.GetTotalMemory(true) / 1048576f; UnityMemUsage = Profiler.usedHeapSize / 1048576f; } void OnGUI() { _str.Length = 0; _str.Append("Memory Usage : \n"); //! Mono memory allocation _str.Append(" - Mono : "); _str.Append(string.Format("{0:0.00}", MonoMemUsage)); _str.Append(" MB\n"); //! Unity memory allocation _str.Append(" - Unity : "); _str.Append(string.Format("{0:0.00}", UnityMemUsage)); _str.Append(" MB\n"); //! Draw GUI GUI.Box(new Rect(10, 10, 160, 70), ""); GUI.Label(new Rect(15, 15, 150, 60), _str.ToString()); } } --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.163.12.157
※ 文章網址: https://webptt.com/m.aspx?n=bbs/GameDesign/M.1421152685.A.FAB.html ※ 編輯: chowleft (118.163.12.157), 01/13/2015 21:58:53
1F:推 Euteamo: 謝謝你,這招我有試過,要用development build才看的到 01/14 08:32
2F:→ Euteamo: 目前我是在c#中寫一個exe,去抓遊戲的pid抓他的記憶體量 01/14 08:35
3F:→ Euteamo: 然後按一個按鈕,開啟EXE並回傳記憶體量 QQ 01/14 08:36
Profiler 類別在 non-development build 會完全失效沒錯 QQ 如果你是在Window上開發,又只想看Process記憶體的話 也可以使用GetProcessMemoryInfo 因為Unity最近的版本開始有支援64位元的版本 需要在參數結構上多做一些判斷 [StructLayout(LayoutKind.Sequential)] private struct MemInfo { public uint cb; public uint PageFaultCount; //! 64bit version ? //! http://feedback.unity3d.com/suggestions/additional-define-variables #if (UNITY_64 || UNITY_EDITOR_64) public ulong PeakWorkingSetSize; public ulong WorkingSetSize; public ulong QuotaPeakPagedPoolUsage; public ulong QuotaPagedPoolUsage; public ulong QuotaPeakNonPagedPoolUsage; public ulong QuotaNonPagedPoolUsage; public ulong PagefileUsage; public ulong PeakPagefileUsage; #else public uint PeakWorkingSetSize; public uint WorkingSetSize; public uint QuotaPeakPagedPoolUsage; public uint QuotaPagedPoolUsage; public uint QuotaPeakNonPagedPoolUsage; public uint QuotaNonPagedPoolUsage; public uint PagefileUsage; public uint PeakPagefileUsage; #endif } [DllImport("psapi.dll", SetLastError = true)] static extern bool GetProcessMemoryInfo(IntPtr hProcess, out MemInfo info, uint cb); MemInfo _memInfo = new MemInfo(); 使用時大概像這樣: IntPtr hWnd = System.Diagnostics.Process.GetCurrentProcess().Handle; if (GetProcessMemoryInfo(hWnd, out _memInfo, (uint)Marshal.SizeOf(_memInfo))) { //! Total System Memory Usage WorkingSetSize = _memInfo.WorkingSetSize / 1048576f; } 不過結果還是會有些誤差,當參考就好XD http://imgur.com/VEm0jYg ※ 編輯: chowleft (118.163.12.157), 01/14/2015 22:04:19
4F:推 Euteamo: 謝謝分享 有成功喔!! 01/17 09:47







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Soft_Job站內搜尋

TOP