flags | 控制行为的标志,包括在读取后清除底层已完成的指标。 |
filters | (可选) 控制返回数据的过滤器。 |
AsyncReadManagerRequestMetric[] AsyncReadManager 中当前存储的读取请求指标数组,可以通过传递 AsyncReadManagerMetricsFilters 进行过滤。
返回当前的 AsyncReadManager 指标。
此函数可以通过传递 AsyncReadManagerMetricsFilters 来过滤收集到的指标。有关过滤器创建的信息,请参阅 AsyncReadManagerMetricsFilters.ctor。
using Unity.IO.LowLevel.Unsafe; using UnityEngine; public class AsyncReadManagerMetricsSample : MonoBehaviour { #if ENABLE_PROFILER && UNITY_2020_2_OR_NEWER void Start() { AsyncReadManagerMetrics.StartCollectingMetrics(); }
void Update() { AsyncReadManagerRequestMetric[] thisFrameMetrics = AsyncReadManagerMetrics.GetMetrics(AsyncReadManagerMetrics.Flags.ClearOnRead); foreach (AsyncReadManagerRequestMetric metric in thisFrameMetrics) { if (metric.State == ProcessingState.Completed) { double bandwidthMBPerSecond = metric.SizeBytes / (metric.TotalTimeMicroseconds - metric.TimeInQueueMicroseconds); Debug.LogFormat($"Asset name:\"{metric.AssetName}\", bandwidth = {bandwidthMBPerSecond}MB/s"); } } }
#endif }
outMetrics | 用于存储指标的预分配列表。 |
flags | 控制行为的标志,包括在读取后清除底层已完成的指标。 |
filters | (可选) 控制返回数据的过滤器。 |
将当前的 AsyncReadManager 指标写入给定的列表。
此函数可以通过传递 AsyncReadManagerMetricsFilters 来过滤收集到的指标。有关过滤器创建的信息,请参阅 AsyncReadManagerMetricsFilters.ctor。
using Unity.IO.LowLevel.Unsafe; using System.Collections.Generic; using UnityEngine; public class AsyncReadManagerMetricsSample : MonoBehaviour { #if ENABLE_PROFILER && UNITY_2020_2_OR_NEWER void Start() { AsyncReadManagerMetrics.StartCollectingMetrics(); }
void Update() { List<AsyncReadManagerRequestMetric> thisFrameMetrics = new List<AsyncReadManagerRequestMetric>(); AsyncReadManagerMetrics.GetMetrics(thisFrameMetrics, AsyncReadManagerMetrics.Flags.ClearOnRead); foreach (AsyncReadManagerRequestMetric metric in thisFrameMetrics) { if (metric.State == ProcessingState.Completed) { double bandwidthMBPerSecond = metric.SizeBytes / (metric.TotalTimeMicroseconds - metric.TimeInQueueMicroseconds); Debug.LogFormat($"Asset name:\"{metric.AssetName}\", bandwidth = {bandwidthMBPerSecond}MB/s"); } } }
#endif }