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