Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Grid/line flickering on ThreeJS paint example #20573

Closed
dxdc opened this issue Oct 28, 2020 · 5 comments
Closed

Grid/line flickering on ThreeJS paint example #20573

dxdc opened this issue Oct 28, 2020 · 5 comments

Comments

@dxdc
Copy link

dxdc commented Oct 28, 2020

Describe the bug

Grid/line flickering in ThreeJS default WebXR example

To Reproduce

Live example

Screenshots

When looking around (especially at floor), very bad line flicker is observed. See attached video.

cut.mp4.zip

@dxdc
Copy link
Author

dxdc commented Oct 28, 2020

(This is easy to reproduce on any Oculus Quest. Running latest software on Quest with all applications up to date.)

Also, maybe helpful - this doesn't seem reproducible on a Rift, just Quest.

Frame rate must have something to do with it (60/72/80/90 Hz issue):

	function animate() {
		renderer.setAnimationLoop( render );
	}

From the docs:

For Oculus Go and Quest, Oculus Browser renders 2D web page content at 72Hz refresh rate by default, and WebXR content at 60Hz refresh rate by default.

@Mugen87
Copy link
Collaborator

Mugen87 commented Oct 28, 2020

Related discussion at the forum: https://discourse.threejs.org/t/grid-helper-lines-flicker-on-oculus-quest/20164

I'm afraid this is a device issue and not fixable on three.js level.

@dxdc
Copy link
Author

dxdc commented Oct 28, 2020

@Mugen87 Thanks - how do you know it's a device issue and not a frame rate issue? Frame rate mismatches can cause flickering and per the ThreeJS docs setAnimationLoop must be used instead of requestAnimationFrame for webXR content. Wondering about some approach like this:

Have you been able to reproduce on an Oculus Quest?

@Mugen87
Copy link
Collaborator

Mugen87 commented Oct 28, 2020

Well, I could see the flickering on my device but I didn't received it as much disturbing. However, I don't have a direct comparison with more high-end VR devices.

three.js internally uses requestAnimationFrame from the XRSession object. Meaning the engine does not determine the frame rate. Instead, the browser defines the best possible frame rate to send rendered frames to the XR display. This frame rate is of course device specific.

@Mugen87
Copy link
Collaborator

Mugen87 commented Oct 30, 2020

Closing since this issue is unrelated to three.js. Please proceed the discussion at the forum.

@Mugen87 Mugen87 closed this as completed Oct 30, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants