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

AsyncReadManagerMetrics

Unity.IO.LowLevel.Unsafe 中的类

/

实现于:UnityEngine.CoreModule

建议修改

成功!

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

关闭

提交失败

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

关闭

取消

描述

管理从 AsyncReadManager 记录和检索指标。

指标管理器记录单个读取操作的状态和时间,以及某些资产类型的其他上下文信息。管理器收集 C# AsyncReadManager.Read 操作和内部 Unity 系统读取操作的指标。

通过调用 StartCollectingMetrics 开始记录指标,并使用 StopCollectingMetrics 结束记录。您可以在程序首次启动时使用命令行参数“-enable-file-read-metrics”启用指标收集。在数据收集完成后关闭指标,以避免与指标收集相关的少量性能影响。

通过调用 GetMetrics 检索指标数据,该函数返回一个指标记录数组。您还可以使用 GetCurrentSummaryMetrics 获取当前数据的摘要。在这两种情况下,您都可以选择在进行这些函数调用时是否清除现有指标。如果您不清除指标数据,则下次获取指标或摘要时,相同的记录将包含在返回的数组或摘要中。如果您清除了指标,则下次调用任一方法时,只会包含新数据。

调用 GetSummaryOfMetrics 以汇总 AsyncReadManagerRequestMetric 对象数组中的记录(您之前使用 GetMetrics 检索了这些记录)。在调用 GetSummaryOfMetricsGetCurrentSummaryMetrics 时,您可以通过传入一组 AsyncReadManagerMetricsFilters 对象来筛选用于计算摘要的数据。

AsyncReadManagerMetrics 类仅在开发版本和编辑器中可用。您应该使用脚本定义符号 ENABLE_PROFILER(如以下示例所示)来保护此类的使用。

using UnityEngine;
using Unity.IO.LowLevel.Unsafe;

class AsyncReadManagerMetricsSample : MonoBehaviour { const int maxNumberFrames = 10; public void Start() { #if ENABLE_PROFILER && UNITY_2020_2_OR_NEWER AsyncReadManagerMetrics.StartCollectingMetrics(); #endif }

public void Update() { if (Time.frameCount > maxNumberFrames) { #if ENABLE_PROFILER && UNITY_2020_2_OR_NEWER AsyncReadManagerRequestMetric[] metrics = AsyncReadManagerMetrics.GetMetrics(AsyncReadManagerMetrics.Flags.ClearOnRead); AsyncReadManagerMetrics.StopCollectingMetrics(); Debug.LogFormat("Number of metrics collected: {0}", metrics.Length); // If no reads have been triggered, this will be zero #endif } } }

静态方法

ClearCompletedMetrics清除所有已完成请求的指标,包括失败和取消的请求。
GetCurrentSummaryMetrics获取自您开始数据收集或上次清除指标数据以来为 AsyncReadManager 读取操作收集的指标摘要。
GetMetrics返回当前的 AsyncReadManager 指标。
GetSummaryOfMetrics汇总包含 AsyncReadManagerRequestMetric 记录的数组。
GetTotalSizeOfNonASRMReadsBytes返回通过 AsyncReadManager 以外的系统读取的数据量(以字节为单位)。
IsEnabled报告 AsyncReadManager 的指标系统当前是否正在记录数据。
StartCollectingMetrics开始记录 AsyncReadManager 读取操作的指标数据。
StopCollectingMetrics停止记录 AsyncReadManager 读取操作的指标数据。