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]; } }