
在我们发布的Unity 2022.2 Tech Stream中,1.0.0版本的Memory Profiler已经正式面向所有人开放。该版本进一步完善了性能分析工具,可描绘更全面的内存使用情况,使得性能优化与内存问题检测更为方便快捷。
内存分析器(Memory Profiler):概览
应用在容量有限的设备上非常容易出现内存溢出甚至崩溃的情况,因此内存优化至关重要。如果项目需要发布至多个平台,开发者如何调整内存占用,最大化利用每个平台更是要考虑的重点。
Memory Profiler可以解决以上问题,让用户能够截取并审查游戏在特定时间点的内存占用情况。并借助这些“快照”,让用户找出游戏中最占内存的部分或崩溃的原因。
注:Memory Profiler的完整功能和内存跟踪仅支持2022.2及以上版本,但用户也可以在2022及以上的空项目里打开窗口、导入旧版快照,再用新界面进行分析。
工具的发展历程
Memory Profiler最初是作为试验包发布的,在这次的新版本中,我们听取了多位早期用户的反馈意见,大幅修改了UI和UX,使其更加易用。
因此,在开发新版本时,Unity设立了以下几个目标:
1、简化最常见、最重要的使用流程,让问题的识别和修复更快
2、提供更全面和可靠的信息,使多种设备(使用平台专用的分析器)的内存占用对比更简单
3、用更易理解的方式呈现信息,让缺乏专业知识的用户同样能有效地优化应用
为实现目标,Unity与早期用户紧密合作来了解他们的需求和痛点,推出数代设计直至达成最佳的用户体验。
得益于这些用户的反馈,Unity团队极大地精简了工具,移除了不少术语,使对象、细节信息和依赖项的检查更为轻松。
工具内容
Memory Profiler由三部分组成,每部分都用上了改进后的新UI:
1、快照列表(Snapshot list)
2、主窗口,被分为三种工作视图:摘要(Summary)、Unity对象(Unity Objects)和总内存(All of Memory)
3、所选对象细节
快照列表
快照列表保存了用户在游戏中截取的快照,以及内存使用、截图日期等信息。用户可以使用工具栏的“Capture”,或者主窗口上的快照按钮,来截取快照。
对比多张快照可检查内存占用是否有变化,并了解项目性能是否有提升。
最后,用户也能在快照列表里查看单张快照或对比数张快照(下文将将详细介绍)。
主窗口
主窗口是Memory Profiler的核心区域,它被分为三个视图:摘要(Summary)、Unity对象(Unity Objects)和总内存(All of Memory)每个视图都可在主窗口顶部打开。
摘要(Summary)视图是加载或截取快照时的默认视图。它提供了当前内存占用、设备“常驻”内存以及提交但未使用的内存等信息。内存会被分成多个类型,以方便用户开始调查。
最后,摘要(Summary)视图是开展详细分析,如“占内存最大的Unity对象”或“托管内存拆分”等的入口。
Unity对象(Unity Objects)视图应该是最常用的视图。它列出了所有加载到内存的对象,如纹理、着色器、字体等。用户通常可以在此处找出哪些对象过大,哪些是错误加载的,或者哪些一直被引用、保留在内存里的。
总内存(All of Memory)视图支持查看分过类的所有内存——包括本机内存(Native)、托管内存(Managed)、图形内存(Graphics)和可执行文件内存(Executables)。用户可以在此查看Memory Priofiler捕捉的数据,调查应用的特定方面,了解项目内存由哪些东西组成。
所选对象细节(Selection details)视图
所选对象细节(Selection details)提供了主屏幕被选中对象的详细信息,包括内存类别的描述、对象的潜在引用或详情。
更多的信息可帮用户了解查看的对象,以及它为何出现在内存中。并且,如果编辑器打开了一个项目,用户可以“ping”出对象,直接在场景或项目窗口检查资产。
对比快照
以上所有视图都能用于检查单张快照或对比多张快照。
如果要对比一张快照,请选择列表中的“Compare”,再选取第二张快照。打开对比栏时所有视图都会自动转换成对比模式。
对比模式下,摘要(Summary)视图将并排显示两张截图的内存分析,方便对比两者内存占用的主要不同(对比双方会被称为“A”和“B”)。
Unity对象(Unity Objects)和总内存(All of Memory)视图带有一种新的专用UI,让用户能查看各类内存的大小变化或对象的数量变化。
在上方选取一个类别,用户就能在下方图表中查看A与B单个类别上的不同。
如果想重新检查单张快照,用户可以选择列表的“Single”。第二张对比照仍会保留,方便用户快速在两个视图间切换。
了解Unity内存及其优化方法
在未来,Unity计划提供更多资源与信息,来介绍如何识别常见的内存问题以及Unity内存的工作方式,帮助用户学习高效的内存优化。
国际邮政小包是什么 国际邮政小包全程为中国邮政航空小包,是中国邮政公司针对轻小件物品快递市场所开发的一项全新业务种类,比较适用于高端化妆品以及电子商品的各种快递需求,是一项极为经济实惠的国际快件服务项目。 目前已经可以邮寄到全球230多个国家和地区。国际邮政小…
码刀科技(www.lekshop.cn)是国内知名企业级电商平台提供商,为企业级商家提供最佳的电商平台搭建(多种模式电商平台搭建:B2B/B2B2C/B2C/O2O/新零售/跨境等)、平台管理系统开发及互联网采购解决方案服务, 联系客服了解更多.