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