Unity3D之编辑器脚本获取资源内存和硬盘大小
2017-02-22 18:44
330 查看
内存
使用Profiler可以查看某个资源的内存占用情况,但是必须启动游戏,并且待查看的资源已经载入游戏中。我希望的是不启动游戏,也能看到它的内存好做统计。
硬盘
由于unity中的资源压缩格式记录在meta中所以,在文件夹中看到的资源大小是不正确的。打开unity需要选择一个资源,比如Texture、然后在右侧Inspector面板最下面可以看见它真实的硬盘占用。这个数据我也希望那个可以脚本取到,这样我好做统计工具。
在Project视图中先选择一个Texture 然后点击menuitem (“1/1”)即可
[MenuItem("1/1")]
public static void menu()
{
Texture target = Selection.activeObject as Texture;
var type = Types.GetType ("UnityEditor.TextureUtil", "UnityEditor.dll");
MethodInfo methodInfo = type.GetMethod ("GetStorageMemorySize", BindingFlags.Static | BindingFlags.Instance | BindingFlags.Public);
Debug.Log("内存占用:"+EditorUtility.FormatBytes(Profiler.GetRuntimeMemorySize(Selection.activeObject)));
Debug.Log("硬盘占用:"+EditorUtility.FormatBytes((int)methodInfo.Invoke(null,new object[]{target})));
}
内存的话unity提供了API Profiler.GetRuntimMemorySize。
硬盘的话unity没有提供,我查看了它的源码需要通过反射可以获取到。如果你还想查看别的资源的硬盘占用,自行查看一下他editor下的代码,用上面这样的代码反射获取出来即可。
使用Profiler可以查看某个资源的内存占用情况,但是必须启动游戏,并且待查看的资源已经载入游戏中。我希望的是不启动游戏,也能看到它的内存好做统计。
硬盘
由于unity中的资源压缩格式记录在meta中所以,在文件夹中看到的资源大小是不正确的。打开unity需要选择一个资源,比如Texture、然后在右侧Inspector面板最下面可以看见它真实的硬盘占用。这个数据我也希望那个可以脚本取到,这样我好做统计工具。
在Project视图中先选择一个Texture 然后点击menuitem (“1/1”)即可
[MenuItem("1/1")]
public static void menu()
{
Texture target = Selection.activeObject as Texture;
var type = Types.GetType ("UnityEditor.TextureUtil", "UnityEditor.dll");
MethodInfo methodInfo = type.GetMethod ("GetStorageMemorySize", BindingFlags.Static | BindingFlags.Instance | BindingFlags.Public);
Debug.Log("内存占用:"+EditorUtility.FormatBytes(Profiler.GetRuntimeMemorySize(Selection.activeObject)));
Debug.Log("硬盘占用:"+EditorUtility.FormatBytes((int)methodInfo.Invoke(null,new object[]{target})));
}
内存的话unity提供了API Profiler.GetRuntimMemorySize。
硬盘的话unity没有提供,我查看了它的源码需要通过反射可以获取到。如果你还想查看别的资源的硬盘占用,自行查看一下他editor下的代码,用上面这样的代码反射获取出来即可。
相关文章推荐
- Unity3D研究院编辑器之脚本获取资源内存和硬盘大小
- 获取服务器信息shell脚本:内存大小,cpu型号,系统发行版本,硬盘个数及大小等
- 获取服务器信息shell脚本:内存大小,cpu型号,系统发行版本,硬盘个数及大小等
- 获取服务器信息shell脚本:内存大小,cpu型号,系统发行版本,硬盘个数及大小等
- C#获取硬盘编号、CPU编号及类型、内存大小及使用情况
- linux下获取硬盘、内存、U盘大小及使用大小
- C#获取硬盘编号、CPU编号及类型、内存大小及使用情况
- linux bash脚本获取系统信息(cpu 总内存 可用内存 文件系统大小 系统位数 进程数 软件包数量 IP地址)
- 获取硬盘大小.内存.cpu信息
- C#获取硬盘编号、CPU编号及类型、内存大小及使用情况
- C#获取电脑型号、系统版本、内存大小、硬盘大小、CPU信息
- unity3d 获取使用内存大小 android and ios
- C#实现获取硬盘编号、CPU编号及类型、内存大小及使用情况
- C#获取硬盘编号、CPU编号及类型、内存大小及使用情况
- 常用工具类,文件和内存的大小获取,shell脚本的执行
- 用脚本获取网卡MAC,CPUID,硬盘序列号(转)
- Java获取系统信息(cpu,内存,硬盘,进程等)的相关方法
- 获取Linux 内存页大小的命令
- java 脚本运行设置初始内存大小
- android 手机内存 和 sdcard的 大小的获取