Version: 2022.3
public static bool TryGetStat (IntegratedSubsystem xrSubsystem, string tag, out float value);

参数

xrSubsystem 注册统计信息的子系统。
tag 用于查询统计信息的标签。
value 接收请求的统计信息的当前值。当此方法返回 true 时,包含一个有效值。

返回

bool 如果请求的统计信息可用,则为 true,否则为 false。

描述

获取 XR 子系统的统计信息。

TryGetStat 方法向 XR 子系统查询指定的统计信息,如果可用,则将输出 value 参数设置为当前统计信息值。TryGetStat 返回 true 表示输出参数包含有效的统计信息值。如果没有为子系统定义指定的标签,或者子系统本身尚未准备好,则 TryGetStat 返回 false。

using UnityEngine.XR.Provider;
using System.Collections.Generic;
using UnityEngine.XR;
using UnityEngine;
using XRStats = UnityEngine.XR.Provider.XRStats;

public static class OpenVRStats { public static float GPUFrameTime() { float tmp; XRStats.TryGetStat(GetFirstDisplaySubsystem(), "OpenVR.Display.GPUFrameTime", out tmp); return tmp; }

public static float MotionToPhoton() { float tmp; XRStats.TryGetStat(GetFirstDisplaySubsystem(), "MotionToPhoton", out tmp); return tmp; }

// etc... private static IntegratedSubsystem GetFirstDisplaySubsystem() { List<XRDisplaySubsystem> displays = new List<XRDisplaySubsystem>(); SubsystemManager.GetInstances(displays); if (displays.Count == 0) { Debug.Log("No display subsystem found."); return null; } return displays[0]; } }