AsyncReadManagerMetrics.GetMetrics
Declaration
public static AsyncReadManagerRequestMetric[] GetMetrics(Unity.IO.LowLevel.Unsafe.AsyncReadManagerMetrics.Flags flags);public static AsyncReadManagerRequestMetric[] GetMetrics(Unity.IO.LowLevel.Unsafe.AsyncReadManagerMetricsFilters filters, Unity.IO.LowLevel.Unsafe.AsyncReadManagerMetrics.Flags 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 }
Declaration
public static void GetMetrics(List<AsyncReadManagerRequestMetric> outMetrics, Unity.IO.LowLevel.Unsafe.AsyncReadManagerMetrics.Flags flags);public static void GetMetrics(List<AsyncReadManagerRequestMetric> outMetrics, Unity.IO.LowLevel.Unsafe.AsyncReadManagerMetricsFilters filters, Unity.IO.LowLevel.Unsafe.AsyncReadManagerMetrics.Flags flags);Параметры
| Параметр | Описание |
|---|---|
| outMetrics | Предварительно выделенный список для хранения показателей. |
| флаги | флаги для управления поведением, включая очистку базовых завершенных показателей после чтения. |
| фильтры | (Необязательно) 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 }