mirror of
https://github.com/saphid/chromium-webxr-steam-frame.git
synced 2026-10-04 22:00:10 +02:00
Docs: measured frame rate and controller input on the Frame
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
f8d07ac177
commit
ec770bb520
2 files changed
+25
-2
No files matched your search
@@ -40,8 +40,8 @@ SteamVR 2.17.10) with Chromium **156.0.8071.0**, built for arm64:
|
||||
| [WebXR Samples](https://immersive-web.github.io/webxr-samples/) Immersive VR Session | shows its scene in the headset |
|
||||
| three.js [stereo 360 video](https://threejs.org/examples/webxr_vr_video.html) | plays in 3D |
|
||||
| Launch from the Steam library | opens as its own panel, like any app; WebXR renders in the headset |
|
||||
| Controller and hand input inside WebXR pages | not tested yet |
|
||||
| Frame rate | not measured (looks smooth) |
|
||||
| Controllers inside WebXR pages | tracked pose every frame; squeeze events and button state reach the page (trigger, thumbstick and left controller not tested) |
|
||||
| Frame rate | 72 fps, every frame 13.9–14 ms over 16 s (simple scene); SteamVR dropped frames only at startup |
|
||||
|
||||
This is an unofficial, experimental build. See [Limitations](#limitations)
|
||||
before you use it for anything other than VR sites.
|
||||
@@ -137,6 +137,7 @@ page directly.
|
||||
passwords you save are stored unencrypted in `~/.config/chromium-xr`.
|
||||
- **No automatic updates.** It won't get Chromium security fixes until you
|
||||
rebuild it.
|
||||
- **No controller vibration.** SteamVR reports no haptic actuators to the page.
|
||||
- **No DRM video.** There's no Widevine, so paid streaming services that
|
||||
need it won't play.
|
||||
- **One window at a time per profile.** If Chromium XR is already open,
|
||||
|
||||
@@ -69,6 +69,28 @@ isn't needed.
|
||||
`visibilityState: "hidden"`, and only the first frame runs. Put the headset
|
||||
on to see it.
|
||||
|
||||
## Input and frame rate (2026-09-27)
|
||||
|
||||
Measured with a session that clears to red, with `hand-tracking` and
|
||||
`local-floor` requested:
|
||||
|
||||
- **Frame rate:** 72 fps. Over 16.6 s the median frame interval was 13.9 ms,
|
||||
p99 14 ms and max 14 ms, with no frame longer than 1.5× the median.
|
||||
SteamVR's `vrcmd --stats` counted 2,940 submits, 4 dropped frames (all at
|
||||
startup) and 2 reprojected.
|
||||
- **Controllers:** the right controller appears as a `tracked-pointer` input
|
||||
source with profiles `oculus-touch` and
|
||||
`generic-trigger-squeeze-thumbstick`, an `xr-standard` gamepad (7 buttons,
|
||||
4 axes), a grip space, and a 25-joint `hand`. Its target-ray and grip
|
||||
poses were available on every frame, and not emulated. A physical squeeze
|
||||
produced `squeezestart`/`squeeze` events and set button 1 as pressed.
|
||||
- **Not covered:** trigger (`select`), thumbstick axes, face buttons, the left
|
||||
controller (not connected during the test) and bare-hand tracking.
|
||||
- **Haptics:** `gamepad.hapticActuators` is empty, so pages can't vibrate
|
||||
the controllers.
|
||||
- Requesting `hand-tracking` makes Chromium ask **Allow hand tracking?** in
|
||||
the browser panel before the session starts.
|
||||
|
||||
## Graphics
|
||||
|
||||
Chromium's GPU process uses ANGLE on OpenGL, which runs on zink over the
|
||||
|
||||
Reference in new issue
Block a user