Closed Bug 1234264 Opened 10 years ago Closed 8 years ago

[webvr] Very slow PositionSensorVRDevice update rate for the cardboard sensor on Firefox OS

Categories

(Firefox OS Graveyard :: Performance, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: flaki, Unassigned)

References

Details

(Keywords: foxfood, Whiteboard: [webvr])

The Cardboard VR sensor update rate seems to be a fraction of what the hardware is capable of. Illustrated in https://youtu.be/p9pO8gtD_W4 : The orange/black phone runs Android with the latest Fennec Nightly, the VR experience is rather smooth, rendering is consistently at, or close to 60 FPS. The white phone is flashed to latest Firefox OS master (WebVR APIs might be needed to be manually enabled via the WebIDE). The render performance is similar to Android, but the VR experience is nevertheless choppy. The frame rate display shows close to 60 FPS (this is visible on the animations, too) but the position tracking is choppy. Both phones are the Sony Xperia Z3 Compact (Aries), running the Quake 3 VR demo by Brandon Jones (see: http://media.tojicode.com/q3bsp/?vrDrawMode=1 ) From later experiments it's apparent that the PositionSensorVRDevice on B2G uses 200ms refresh rate which results in ~5 FPS in positional updates, that seems to be causing the issue (mozilla::hal::SENSOR_GAME_ROTATION_VECTOR). The Android version uses Android sensors API (TYPE_GAME_ROTATION_VECTOR sensor) with no artificial delay (SENSOR_DELAY_FASTEST), and achieves ~45 FPS in positional updates which results in the rather smooth VR experience. Improving the above rates should be fairly important on B2G, even if WebVR is not going to be a priority on the phones, as any prospective IoT device would be in need of fast and reliable sensor access too in the future.
Depends on: 1234270
Keywords: foxfood
Whiteboard: [webvr]
Firefox OS is not being worked on
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.