Unity官方文档笔记(三)Unity性能分析器

本文档介绍了Unity的Profiler窗口,包括入门、应用程序性能分析、CPU和GPU Usage Profiler模块。Profiler允许深入分析C#方法,记录脚本内存分配的调用栈,并提供对移动设备的远程性能分析支持。同时,详细解析了Timeline视图、渲染和VSync样本、多线程样本以及GPU使用情况的监测。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Profiler窗口入门

默认情况下,性能分析器记录并保留游戏的最后 300 帧,并显示有关每一帧的详细信息。可以在 Preferences 窗口(菜单:File > Preferences)中增加其记录的帧数(至多 2,000 帧)。

1.1 性能分析器控件

Deep Profile
启用此设置可对所有 C# 方法进行性能分析。启用此设置后,Unity 会将检测功能添加到所有 Mono 调用,然后便可以对脚本进行更详细的调查。请参阅深度性能分析。
Call Stacks
要记录用于脚本内存分配的调用栈,请单击此开关。启用此选项时,性能分析器记录的帧具有 GC.Alloc 样本中的信息;即使在 Deep Profile 未激活的情况下,完整调用栈上的这些样本也会导致托管脚本分配。有关更多信息,请参阅“CPU Usage Profiler 模块”页面的分配调用栈部分。

1.2 深度性能分析

通常,性能分析器仅对用 ProfilerMarker 显式包裹的代码时序进行性能分析。
如果未向您自己的代码添加更显式的 ProfilerMarker 检测,您可以视为脚本代码的子样本的唯一其他样本是回调到 Unity API 中的样本(如果已对该 API 进行检测)。带有性能开销的大多数 API 调用都会经过检测。例如,通过 Camera.main API 访问主摄像机的操作被注册为“FindMainCamera”样本。
深度性能分析是资源密集型操作,会耗用大量内存。因此,在进行性能分析时,应用程序运行速度显著降低。深度性能分析更适合用简单脚本编写的小游戏。如果使用的是复杂脚本代码,则应用程序可能根本无法使用深度性能分析。对于许多较大的应用程序,深度性能分析可能会使 Unity 耗尽内存。
如果遇到问题,导致性能分析器的太多样本存储在环形缓冲区(用于将样本流式传输到性能分析器)中,Unity 将显示一条错误消息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值