版本: Unity 6 (6000.0)
语言English
  • C#

AsyncReadManagerMetrics.GetMetrics

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。尽管我们无法接受所有提交内容,但我们确实阅读了用户提出的每个建议更改,并在适用的情况下进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

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);

参数

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 }

声明

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 用于存储指标的预分配列表。
flags 控制行为的标志,包括在读取后清除底层已完成的指标。
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 }