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/cn.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灯, 水草

请输入看板名称,例如:Boy-Girl站内搜寻

TOP