Optimize Rendering in the Browser

Oculus Browser has a number of extensions that improve the overall WebVR experience by enabling more performance, visual fidelity, and functionality.

High Refresh Rate

Oculus Browser on Oculus Go renders WebGL content at 60Hz by default. A 72Hz rendering mode is available that increases comfort in WebVR (for content that can consistently render at 72fps) but with a performance and energy trade-off.

To use high refresh rate, use the following extended attributes in VRDisplay.requestPresent

dictionary VRAttributes {
  ...
  boolean highRefreshRate;
  ...
};

Setting highRefreshRate to true enables 72Hz mode.

High refresh rate is currently only supported by Oculus Go; on other devices it will be ignored.

Fixed Foveated Rendering

Fixed Foveated Rendering is a method for improving rendering performance on GPU-fill bound content. With FFR, the edges of the eye texture is rendered at a lower resolution than the center, resulting in fewer total pixels that need to be shaded.

FFR can deliver up to 25% improvement in GPU fill performance in fill-bound content.

To use FFR, use the following extended attributes in VRDisplay.requestPresent

dictionary VRAttributes {
  ...
  unsigned long foveationLevel;
  ...
};

foveationLevel specifies the level of fixed foveation. The value is in range [0..3], where 0 - none, 1 - low, 2 - medium, 3 - high.

FFR is currently only supported by Oculus Go; on other devices it will be ignored.

The foveationLevel attribute overrides the corresponding setting on the chrome://flags settings page.