Объявление
public static Unity.IO.LowLevel.Unsafe.AsyncReadManagerSummaryMetrics GetCurrentSummaryMetrics(Unity.IO.LowLevel.Unsafe.AsyncReadManagerMetrics.Flags flags);Параметры
flags | Флаги для управления поведением, включая очистку базовых заполненных метрик после чтения. |
Возвращает
AsyncReadManagerSummaryMetrics Сводка текущих данных метрик.
Описание
Получает сводку метрик, собранных для операций чтения AsyncReadManager с момента начала сбора данных или последней очистки данных метрик.
Возвращенный объект AsyncReadManagerSummaryMetrics предоставляет общую статистику о собранных данных. Вызовите GetMetrics, чтобы получить базовые данные метрик, используемые для сводки.
Установите параметр flags
, чтобы очистить все данные после возврата сводки. Эффект аналогичен вызову ClearCompletedMetrics.
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()
{
if (Time.frameCount == 10)
{
AsyncReadManagerSummaryMetrics summaryOfMetrics = AsyncReadManagerMetrics.GetCurrentSummaryMetrics(AsyncReadManagerMetrics.Flags.ClearOnRead);
Debug.LogFormat($"Average bandwidth of every read over 10 frames: {summaryOfMetrics.AverageBandwidthMBPerSecond}MB/s");
Debug.LogFormat($"Number of completed reads in 10 frames: {summaryOfMetrics.NumberOfCompletedRequests}");
Debug.LogFormat($"Total number of requests in 10 frames: {summaryOfMetrics.TotalNumberOfRequests}");
Debug.LogFormat($"Subsystem responsible for longest file read: {summaryOfMetrics.LongestReadSubsystem}");
Debug.LogFormat($"Asset type responsible for longest wait: {summaryOfMetrics.LongestWaitAssetType}");
}
}
#endif
}
Объявление
public static Unity.IO.LowLevel.Unsafe.AsyncReadManagerSummaryMetrics GetCurrentSummaryMetrics(Unity.IO.LowLevel.Unsafe.AsyncReadManagerMetricsFilters metricsFilters, Unity.IO.LowLevel.Unsafe.AsyncReadManagerMetrics.Flags flags);Параметры
metricsFilters | Фильтры, применяемые к метрикам перед вычислением сводки. |
flags | Флаги для управления поведением, включая очистку основных заполненных метрик после чтения. |
Возвращает
AsyncReadManagerSummaryMetrics Сводка текущих данных метрик, отфильтрованных с помощью указанных metricsFilters
.
Описание
Получает отфильтрованную сводку метрик, собранных для операций чтения AsyncReadManager с момента начала сбора данных или последней очистки данных метрик.
Эта функция фильтрует метрики, собранные для операций чтения AsyncReadManager, и предоставляет сводку на основе отфильтрованных данных.
См. AsyncReadManagerMetricsFilters.ctor for information about filter creation.
using Unity.IO.LowLevel.Unsafe;
using UnityEngine;
public class AsyncReadManagerMetricsSample : MonoBehaviour
{
#if ENABLE_PROFILER && UNITY_2020_2_OR_NEWER
AsyncReadManagerMetricsFilters filters;
void Start()
{
AsyncReadManagerMetrics.StartCollectingMetrics();
filters = new AsyncReadManagerMetricsFilters();
filters.SetPriorityFilter(Priority.PriorityHigh);
filters.SetSubsystemFilter(AssetLoadingSubsystem.Texture);
}
void Update()
{
AsyncReadManagerSummaryMetrics filteredSummaryOfMetrics = AsyncReadManagerMetrics.GetCurrentSummaryMetrics(filters, AsyncReadManagerMetrics.Flags.None);
Debug.LogFormat($"Number of requests matching given filters: {filteredSummaryOfMetrics.TotalNumberOfRequests}");
Debug.LogFormat($"Average bandwidth for textures in high priority queue: {filteredSummaryOfMetrics.AverageBandwidthMBPerSecond}MB/s");
// Clear completed reads from metrics each frame to avoid rereading the same requests
AsyncReadManagerMetrics.ClearCompletedMetrics();
}
#endif
}