版本: Unity 6 (6000.0)
语言英语
  • C#

Profiler

UnityEngine.Profiling 中的类

/

实现于:UnityEngine.CoreModule

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实会阅读用户提出的每个建议更改,并在适用时进行更新。

关闭

提交失败

由于某种原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

描述

从脚本控制 Profiler

您可以在脚本中使用 Profiler.BeginSampleProfiler.EndSample 添加自定义 Profiler 部分。

在独立平台上,您可以将所有性能分析信息保存到文件中,以便以后检查。为此,您必须指定 Profiler.logFile 并将 Profiler.enabledProfiler.enableBinaryLog 都设置为 true

由于使用 Profiler 会对应用程序的性能产生负面影响,因此 Profiler API 的大部分功能仅在启用“开发版本”时才可用。因此,如果您想在构建的应用程序中使用 Profiler API 方法,则必须启用“开发版本”。禁用“开发版本”可以使您的应用程序运行更快,但会阻止您使用 Profiler API 的大多数方法。

例外情况是与内存使用相关的 Profiler API 方法。由于 Unity 在运行时管理其大部分系统内存,因此它可以在没有任何性能损失的情况下提供这些信息;因此,即使您没有启用“开发版本”,这些方法也可用。这适用于所有与内存相关的 Profiler API 方法,除了 Profiler.GetAllocatedMemoryForGraphicsDriverProfiler.GetRuntimeMemorySizeLong,因为它们需要仅在开发版本中可用的额外性能分析数据。

静态属性

areaCount您可以分析的 Profiler 区域的数量。
enableAllocationCallstacks启用对托管分配的调用堆栈的记录。
enableBinaryLog启用将性能分析数据记录到文件。
enabled启用 Profiler。
logFile指定写入性能分析数据时要使用的文件。
maxUsedMemory设置 Profiler 用于缓冲数据的最大内存量。此属性以字节表示。
usedHeapSizeLong返回 Unity 已分配的字节数。这并不包括外部库或驱动程序分配的字节。

静态方法

AddFramesFromFile在 Profiler 中显示记录的性能分析数据。
BeginSample使用自定义标签开始分析一段代码。
BeginThreadProfiling启用对您调用此方法的线程的性能分析。
EmitFrameMetaData将与当前帧关联的元数据写入 Profiler 流。
EmitSessionMetaData写入与整个 Profiler 会话捕获关联的元数据。
EndSample结束当前性能分析样本。
EndThreadProfiling释放 Profiler 为线程使用的内部资源。
GetAllCategories返回 Profiler 中注册的所有 ProfilerCategory。
GetAllocatedMemoryForGraphicsDriver返回图形驱动程序分配的内存量(以字节为单位)。仅在开发版播放器和编辑器中可用。
GetAreaEnabled返回给定的 ProfilerArea 当前是否已启用。
GetCategoriesCount返回 Profiler 中注册的 ProfilerCategory 的数量。
GetMonoHeapSizeLong返回为托管内存保留的空间的大小。
GetMonoUsedSizeLong获取活动对象和未收集对象的已分配托管内存。
GetRuntimeMemorySizeLong收集 Unity 对象使用的本机内存。
GetTempAllocatorSize返回临时分配器的大小。
GetTotalAllocatedMemoryLongUnity 内部分配器分配的总内存。Unity 从系统保留大量的内存池;这包括纹理所需内存的两倍,因为 Unity 在 CPU 和 GPU 上都保留了每个纹理的副本。此函数返回这些池中使用的内存量。
GetTotalFragmentationInfo返回堆内存碎片信息。
GetTotalReservedMemoryLongUnity 已保留的总内存。
GetTotalUnusedReservedMemoryLongUnity 为使用时分配内存而分配内存池。此函数返回这些池中未使用的内存量。
IsCategoryEnabled返回给定的 ProfilerCategory 当前是否已启用。
SetAreaEnabled启用或禁用给定的 ProfilerArea。
SetCategoryEnabled启用或禁用给定的 ProfilerCategory。
SetTempAllocatorRequestedSize设置临时分配器的大小。