AsyncReadManagerMetrics.GetCurrentSummaryMetrics
Declaration
public static Unity.IO.LowLevel.Unsafe.AsyncReadManagerSummaryMetrics GetCurrentSummaryMetrics(Unity.IO.LowLevel.Unsafe.AsyncReadManagerMetrics.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 }
Declaration
public static Unity.IO.LowLevel.Unsafe.AsyncReadManagerSummaryMetrics GetCurrentSummaryMetrics(Unity.IO.LowLevel.Unsafe.AsyncReadManagerMetricsFilters metricsFilters, Unity.IO.LowLevel.Unsafe.AsyncReadManagerMetrics.Flags flags);Параметры
| Параметр | Описание |
|---|---|
| metricsFilters | Фильтры, применяемые к показателям до расчета сводных данных. |
| флаги | Флаги для управления поведением, включая очистку основных завершенных показателей после чтения. |
Возвращаемое значение
AsyncReadManagerSummaryMetrics Сводка текущих данных метрики, отфильтрованная по указанному metricsFilters.
Описание
Получает отфильтрованную сводку показателей, собранных для операций чтения AsyncReadManager с момента начала сбора данных или последней очистки данных показателей.
Эта функция фильтрует метрики, собранные для операций чтения AsyncReadManager, и предоставляет резюме на основе отфильтрованных данных. Информацию о создании фильтра см. в AsyncReadManagerMetricsFilters.ctor.
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 }