Unity 6.3
0 онлайн 8 гостей 3 в системе
Вход

AsyncReadManagerMetrics

класс в Unity.IO.LowLevel.Unsafe

Выполнено в:UnityEngine.CoreModule

Описание

Управляет записью и получением показателей из AsyncReadManager.

Диспетчер показателей регистрирует состояния и время отдельных операций чтения, а также дополнительную контекстную информацию для определенных типов ассетов. Диспетчер собирает показатели для C# AsyncReadManager.Read операции и операции чтения из внутренних систем Unity.

Начать запись показателей, вызвав StartCollectingMetrics и прекратить запись с StopCollectingMetrics. Сбор показателей можно включить при первом запуске программы с помощью аргумента командной строки "-enable-file-read-metrics". Отключите показатели после завершения сбора данных, чтобы избежать незначительного влияния на производительность, связанного со сбором показателей.

Получение данных метрики путем вызова GetMetrics, который возвращает массив записей метрики. Вы также можете получить резюме текущих данных с помощью GetCurrentSummaryMetrics. В обоих случаях можно выбрать, очищать ли существующие метрики при вызовах этих функций. Если данные метрики не очищаются, то те же самые записи включаются в возвращаемый массив или резюме при следующем получении метрики или резюме. Если данные метрики очищаются, то при следующем вызове любого метода включаются только новые данные.

Вызов GetSummaryOfMetrics для обобщения отчетов в ряде AsyncReadManagerRequestMetric объектов (которые вы получили ранее, используя GetMetrics). При вызове либо GetSummaryOfMetrics или GetCurrentSummaryMetrics, вы можете отфильтровать данные, используемые для вычисления резюме, передавая в набор 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.