Unity优化翻译官方文档(五) ------ Profiler window

   官网 : https://docs.unity3d.com/Manual/ProfilerWindow.html


通过窗口分析器来访问Unity编辑器中的 Profiler 窗口: Window > Profiler

请参阅 Profiler 概述,了解 Profiler 是如何工作的。

1.Profiler Controls

分析器控件在工具栏中

在窗口的顶部。使用这些来开启和关闭侧写,并在经过分析的框架中导航。传输控制在工具栏的最右边。注意,当游戏运行时,Profiler正在收集数据,点击任何一个传输控件都会暂停游戏。控制进入第一个记录的帧,第一步后退一步,向前一步,然后进入最后一个帧。

Profiler并没有保存所有记录的帧,因此第一个帧的概念应该是最古老的框架,它仍然保存在内存中。Current按钮会导致概要统计窗口显示实时收集的数据。Active Profiler弹出菜单允许您选择是否应该在编辑器或单独的播放器中执行概要分析(例如,在附加的iOS设备上运行的游戏)。Save按钮允许您将录制的帧写入文件。相应地,Load按钮读取早先保存的数据。您还可以加载由玩家编写的二进制概要数据(在生成日志时,设置Profiler。启用二进制格式)。如果按下shift键时点击“Load”,则将文件内容追加到内存中的当前概要帧。

Deep Profiling

当您打开深度概要文件时,您的所有脚本代码都将被描述——也就是说,所有的函数调用都被记录下来。这对于知道在游戏代码中花费的时间是很有用的。

请注意,深度剖析会带来非常大的开销,并使用大量的内存,因此,在进行分析时,您的游戏将运行得非常慢。如果您正在使用复杂的脚本代码,那么深度剖析可能根本不可能。深度剖析应该能够足够快地为简单的脚本编写小游戏。如果您发现对整个游戏的深度剖析会导致帧速率下降那么多,以至于游戏几乎没有运行,您应该考虑不使用这种方法,而是使用下面描述的方法。当您在设计您的游戏并决定如何最好地实现关键特性时,您可能会发现深度剖析更有帮助。请注意,对于大型游戏来说,深度剖析可能会导致内存耗尽,因此,深度剖析可能是不可能的。

手动分析脚本代码块的开销将比使用深度剖析的开销小。使用 Profiler.BeginSample 和 Profiler.EndSample以启用和禁用围绕代码段的剖析。

2.Profiler Timeline

分析器窗口的上半部分显示了随时间的性能数据。当您运行一个游戏时,数据会被记录到每一个帧中,并且显示了最后几百帧的历史。点击一个特定的帧将在窗口的下半部分显示它的详细信息。根据当前选择的时间轴区域,显示不同的细节。

时间轴的垂直刻度是自动管理的,并试图填充窗口的垂直空间。注意,为了获得更多的细节,比如CPU使用区域,您可以删除内存和渲染区域。此外,时间轴和统计区域之间的分割器可以被选择并向下拖动,以增加时间轴图表所使用的屏幕区域。

时间轴由几个方面组成:CPU使用、呈现和内存。可以通过单击面板中的close按钮删除这些区域,并使用概要控制栏中的Add Area掉落来重新添加这些区域。

注意,标签区域中的彩色方块可以控制是否显示相关时间线。要从显示中删除一个样本,点击颜色键。键会变暗,数据将从图中删除。例如,这对于确定CPU图中峰值的原因是很有用的。

3.Remote Profiling

要在另一台设备上运行你的游戏,或者在另一台电脑上运行一个Unity播放器,你可以将Unity编辑器连接到其他设备或电脑上。下拉式Active Profiler显示了在本地网络上运行的所有Unity播放器。这些玩家可以通过玩家类型和运行玩家“iPhonePlayer (Toms iPhone)”的主机名来识别。

为了能够连接到一个Unity播放器,你必须将Unity播放器作为开发构建启动(菜单:File > Build Settings…)。

在对话框中检查开发构建选项。在这里,您还可以检查Autoconnect Profiler ,以便在启动时使编辑器和播放器自动连接。

iOS

在iOS上启用remote profiling通过以下步骤:

  1. 1.将你的iOS设备连接到你的WiFi网络。(profiling使用一个本地WiFi网络将分析数据从设备发送到Unity编辑器。)
  2. 在Unity编辑器的 Build Settings(菜单:File > Build Settings…),检查 Autoconnect Profiler
  3. 将你的设备通过电缆连接到你的Mac上。在Unity编辑器的Build设置对话框(菜单:File > Build Settings…)中,检查Autoconnect Profiler,并选择Build&Run。
  4. 当应用在设备上启动时,在Unity编辑器( Window > Profiler)中打开Profiler窗口。
  5. 如果您正在使用防火墙,您需要确保端口54998到55511在防火墙的出站规则中打开——这些是Unity用于远程剖析的端口。

注意:有时Unity编辑器可能不会自动连接到设备。在这种情况下,您可以通过选择适当的设备,从分析器窗口活动分析器的下拉菜单中启动分析器连接。

Android

有两种方法可以在Android设备上进行远程分析:WiFi或 ADB

对于WiFi评测,请遵循以下步骤:

  1. 确保在你的Android设备上禁用移动数据。
  2. 将你的Android设备连接到你的WiFi网络。(Profiler使用一个本地WiFi网络将分析数据从设备发送到Unity编辑器。)
  3. 将你的设备通过电缆连接到你的Mac或PC上。在Unity’s Build Settings对话框中检查Development Build 和人Autoconnect Profiler,并在Unity编辑器中单击Build&Run。
  4. 当应用在设备上启动时,在Unity编辑器(Window > Profiler)中打开分析器窗口。
  5. 如果Unity编辑器无法自动连接到设备,请从分析器窗口活动分析器下拉菜单中选择适当的设备。

注意:Android设备和主机计算机(运行Unity编辑器)必须在同一子网上进行设备检测才能工作。

  1. 对于ADB分析,请遵循以下步骤:
  2. 通过电缆将你的设备连接到你的Mac或PC上,并确保ADB识别该设备(例如,它显示在ADB设备列表中)。
  3. 在Unity编辑器的Build设置对话框(菜单:File > Build Settings…)中,检查开发构建复选框检查并选择Build&Run。
  4. 当应用在设备上启动时,在Unity编辑器(Window > Profiler)中打开Profiler窗口。
  5. Profiler Active Profiler 下拉菜单中选择AndroidProfiler([email protected]:34999)。

注意:当你点击Build&Run时,Unity编辑器会自动为你的应用程序创建一个adb隧道。如果您想要配置另一个应用程序,或者重新启动adb服务器,您必须手动设置此隧道。为此,打开一个终端窗口/CMD提示符并输入:

      adb forward tcp:34999 localabstract:Unity-{insert bundle identifier here}

注意:在选择的目标是Android的时候,下拉菜单中的条目是可见的。

如果您正在使用防火墙,您需要确保端口54998到55511在防火墙的出站规则中打开——这些是Unity用于远程剖析的端口。

猜你喜欢

转载自blog.csdn.net/dengshunhao/article/details/82527617