Cleanup hard coded refresh rates, don't submit stats for reprojected frames
Use CADisplayLink to set preferred frame rate, though this seems to be be ignored
Also detect streamer restarts to stop streaming fake frames, this avoids ALVR plugin crashes.
Here's the test results I've tried with different SteamVR refresh vs. Vision Pro M5 refresh vs. ALVR Streamer versions. Note that the 20.14.1 upstream version seems to handle visionOS reproductions a bit better than the PSVR2 fork, in that the 90hz stats seems to match up as if the client refresh is at 90hz!?
In any case, I didn't experience much judder in Metal even with bouncy stats @ 100ms headset prediction, though I did see more pose judder w/ the SteamVR dashboard in particular in RealityKit, this was somewhat mitigated by bumping headset prediction to 200ms.
**Warning**: **Mac Virtual Display inside ALVR almost always drops refresh rates to 60fps w/ drops to 30fps**
Metal Renderer w/ steamVR @ 90 hz - 20.14.1 upstream
- default refresh - **90fps client/server matched in stats w/ 10% flux**
- 90 - **90fps client/server matched in stats w/ 10% flux**
- 120 - **a bit more client frame rate drops commensurate with reprojection**
Metal Renderer w/ steamVR @ 120 hz - 20.14.1 upstream
- default - **120fps matched in stats w/ 10% flux**
- 120 - **120fps matched in stats w/ 10% flux**
RealityKit Renderer w/ steamVR @ 90hz - 20.14.1 upstream
- Default - 60/120 fps bounce in stats
- 90 - 60/120 fps bounce in stats
- 120 - 60/120 fps bounce in stats
RealityKit Renderer w/ steamVr @ 120hz - 20.14.1 upstream
- Default - **client/server matched 120fps in stats w/ 10% flux**
- 120 - matched
-=-=-=
Metal Renderer w/ steamVR @ 90 hz - 20.14.1 PSVR2 fork
- default refresh - client 60/120 fps bounce in stats
- 90 - client 60/120 fps bounce in stats
- 120 - client 60/120 fps bounce in stats
Metal Renderer w/ steamVR @ 120 hz - 20.14.1 PSVR2 fork
- default - 120fps matched in stats w/ 10% flux
- 120 - 120fps matched in stats w/ 10% flux
RealityKit Renderer w/ steamVR @ 90hz - 20.14.1 PSVR2 fork
- Default - 60/120 fps bounce in stats
- 90 - 60/120 fps bounce in stats
- 120 - 60/120 fps bounce in stats
RealityKit Renderer w/ steamVr @ 120hz - 20.14.1 PSVR2 fork
- Default - **client/server matched 120fps in stats w/ 10% flux**
- 120 - **client/server matched 120fps in stats w/ 10% flux**
合并状态:未合并 3 条评论