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

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 }