您想找什么?
Hero background image

性能分析和调试工具

为方便起见,此网页已进行机器翻译。我们无法保证翻译内容的准确性或可靠性。如果您对翻译内容的准确性有疑问,请参阅此网页的官方英文版本。

流畅的性能对于创造出色的游戏体验至关重要,这些体验能够覆盖广泛的设备和玩家。Unity 提供了一整套性能分析和内存管理工具,Unity 开发者可以与其目标平台上可用的本地性能分析工具一起使用。

在本文中,我们为您提供了 Unity 可用的性能分析和调试工具以及目标平台上可用工具的概述。

这里的信息摘自电子书,《Unity 游戏性能分析终极指南(Unity 6 版)》, 可免费下载。这本电子书由外部和内部的 Unity 游戏开发、性能分析和优化专家共同创建。

同时使用 Unity 和原生工具,以获得最佳结果

精简、高效的代码和优化的内存使用可以在低端和高端设备上提供更好的用户体验。这适用于所有情况,从能够通过解决热量和电池消耗问题来接触更多低端设备用户,到玩家的舒适度,最终影响更高的采用率和用户留存的因素。这也可能是通过分发平台规范的要求。性能分析就像侦探工作,揭开应用程序性能滞后的原因,或代码为何分配过多内存的谜团。

从性能分析中获得的最佳收益是在项目开发生命周期的早期进行规划时实现的。这是一项持续的主动和迭代过程。通过早期和频繁地进行性能分析,而不仅仅是在您即将发布游戏之前,您和您的团队可以理解并建立项目的“性能特征”。例如,如果性能急剧下降,您将能够轻松发现问题出现的时刻,并迅速解决问题。

最准确的性能分析结果来自于在目标设备上运行和分析构建,以及使用特定平台的工具深入挖掘每个目标平台的硬件特性。

Unity 附带了一系列功能强大的免费性能分析工具,可在编辑器中和硬件上分析和优化代码。每个目标平台上也有几个优秀的本地性能分析工具,例如主要平台所有者提供的工具。同时使用两者可以提供对所有目标设备的应用性能的更全面的视图。

Unity Profiler 中的高亮模块
Profiler 中的高亮模块使您能够轻松理解您的游戏表现与设定的目标帧时间的对比。在这个例子中,CPU和GPU都需要进行大量优化工作,以达到目标的60帧每秒。

Unity 性能分析工具

Unity的性能分析工具在编辑器和包管理器中可用。这些工具以及Unity的帧调试器在电子书Unity游戏性能分析终极指南(Unity 6版)中有更详细的介绍。

- Unity 性能分析器测量Unity编辑器的性能,以及在连接设备时的播放模式或开发模式下的应用程序性能。

- 性能分析核心包提供了API,您可以使用它们向Unity性能分析器捕获添加上下文信息。

- 内存分析器提供了深入分析,了解您的游戏使用了多少内存以及哪些对象在使用它。

- 分析器使您能够并排比较两个性能分析数据集,以分析您的更改如何影响应用程序的性能。

- 项目审计器报告有关您项目中的脚本、素材和代码的见解和问题,其中许多与性能相关。

Unity还提供了几种调试工具,以补充其性能分析工具套件。例如,渲染调试器的显示统计面板允许您在开发版本中查看有限的性能数字和标记(CPU + GPU),而无需连接编辑器。

Unity中的帧调试器
使用帧调试器分析识别的过度绘制是如何发生的。

本地性能分析工具

安卓 / ARM

- 安卓工作室:最新的安卓工作室包括一个新的安卓性能分析器,替代了之前的安卓监视器工具。使用它收集关于安卓设备上硬件资源的实时数据。

- ARM性能工作室:一套工具,帮助您详细分析和调试您的游戏,专为运行ARM硬件的设备量身定制。

- 骁龙性能分析器:专门针对骁龙芯片设备。分析CPU、GPU、DSP、内存、功耗、热量和网络数据,以帮助查找和修复性能瓶颈。

英特尔

- 英特尔 VTune:快速找到并修复英特尔平台上的性能瓶颈,使用这套工具。仅适用于英特尔处理器。

- 英特尔 GPA 套件:一套专注于图形的工具,帮助您通过快速识别问题区域来提高游戏性能。

Xbox / PC
- PIX:PIX 是一个性能调优和调试工具,供使用 DirectX 12 的 Windows 和 Xbox 游戏开发者使用。它包括理解和分析 CPU 和 GPU 性能的工具,以及监控各种实时性能计数器。

PC / Universal

- AMD μProf:AMD uProf 是一个性能分析工具,用于理解和分析在 AMD 硬件上运行的应用程序的性能。

- NVIDIA NSight:该工具使开发者能够使用来自 NVIDIA 的最新视觉计算硬件构建、调试、分析和开发一流的前沿软件。

- Samply:Samply 是一个开源命令行 CPU 分析器,使用 Firefox 分析器作为其用户界面。它可以在 macOS、Linux 和 Windows 上运行。

- Superluminal:Superluminal 是一个高性能、高频率的分析器,支持在 Windows、Xbox One 和 PlayStation 上分析用 C++、Rust 和 .NET 编写的应用程序。这是一个付费产品,必须获得许可才能使用。查看我们的讨论文章,快速了解如何入门。

PlayStation

- CPU分析工具可用于PlayStation硬件。要获取更多详细信息,您需要成为注册的PlayStation®开发者,从这里开始

iOS

- Xcode Instruments和XCode帧调试器:Instruments是一个强大而灵活的性能分析和测试工具,是Xcode工具集的一部分。

WebGL

- Firefox Profiler:使用Firefox Profiler深入分析调用堆栈并查看Unity WebGL构建的火焰图(以及其他内容)。它还具有比较工具,可以并排查看分析捕获。

- Chrome DevTools性能:另一个可以用于分析Unity WebGL构建的网页浏览器工具。

Arm的Streamline性能分析器
Arm 的 Streamline 性能分析器包含大量性能计数器信息,可以在目标 Arm 硬件上的实时性能分析会话期间捕获这些信息。这对于识别由于过度绘制而导致的性能问题(如内存带宽饱和)非常有用。

GPU 调试和性能分析工具

虽然Unity帧调试工具捕获并说明从CPU发送的绘制调用,但以下工具可以帮助您了解GPU在接收这些命令时的操作。

有些是特定于平台的,并提供更紧密的平台集成。查看与感兴趣的平台相关的工具:

- Arm Streamline:Arm性能工作室软件套件的一部分,专注于CPU和GPU的低开销性能测量。

- Arm Frame Advisor:Arm性能工作室软件套件的一部分,专注于基于帧的API分析。

- RenderDoc:用于桌面和移动平台的GPU调试器,专注于基于帧的API调试。

- Intel GPA:针对基于Intel平台的图形分析。

- Apple Frame Capture Debugging Tools:用于Apple平台的GPU调试。

- Visual Studio Graphics Diagnostics:选择此项和/或PIX用于基于DirectX的平台,如Windows或Xbox。

- NVIDIA Nsight Frame Debugger:用于NVIDIA GPU的基于OpenGL的帧调试器。

- AMD Radeon Developer Tool Suite:用于AMD GPU的GPU分析器。

- Xcode frame debugger:适用于iOS和macOS。

Unity电子书
更多Unity 6的技巧

您可以在Unity最佳实践中心找到更多针对高级Unity开发者和创作者的最佳实践和技巧。从超过30个指南中选择,这些指南由行业专家、Unity工程师和技术艺术家创建,将帮助您高效地使用Unity的工具集和系统进行开发。

使用 Unity 和本地平台工具进行性能分析和调试 | Unity