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

High latency hover in macOS Chromium with OpenGL backend #2672

Open
martenbjork opened this issue Jul 11, 2023 · 3 comments
Open

High latency hover in macOS Chromium with OpenGL backend #2672

martenbjork opened this issue Jul 11, 2023 · 3 comments
Labels
🪳 bug Something isn't working 🚀 performance Optimization, memory use, etc ui concerns graphical user interface 🕸️ web regarding running the viewer in a browser

Comments

@martenbjork
Copy link
Contributor

martenbjork commented Jul 11, 2023

Describe the bug
The hover state in the navigation is delayed and makes the app feel sluggish.

To Reproduce
Quickly hover the menu items.

Expected behavior
The hover state should toggle instantly on mouseenter/mouseout.

Screenshots
https://github.com/rerun-io/rerun/assets/875708/2a34aacd-187d-4fe1-8311-ed13b9ecd249

Desktop (please complete the following information):
OS: Latest MacOS

Rerun version
app.rerun.io/commit/5311903

Additional context
I'm using a high resolution, 5K display.

@martenbjork martenbjork added 🪳 bug Something isn't working 👀 needs triage This issue needs to be triaged by the Rerun team ui concerns graphical user interface 🚀 performance Optimization, memory use, etc labels Jul 11, 2023
@emilk emilk added the 🕸️ web regarding running the viewer in a browser label Jul 14, 2023
@emilk
Copy link
Member

emilk commented Jul 14, 2023

I fail to reproduce: I only get one frame of latency, not at all as bad as the video (btw: you can embed mp4 videos by drag-dropping them into GitHub).

Have you tested it in the native viewer?

What web browser are you using?

Does the size of the browser window affect the latency?

@emilk emilk removed the 👀 needs triage This issue needs to be triaged by the Rerun team label Aug 8, 2023
@martenbjork
Copy link
Contributor Author

martenbjork commented Aug 8, 2023

Have you tested it in the native viewer?

No, browser only!

What web browser are you using?

Chrome, latest. Running on a M2 MBP.

Does the size of the browser window affect the latency?

Yeah, it does seem like making it a bit smaller reduces the latency a little.


Additional notes: It does seem to be worse in some examples, like when playing the timeline in this one:

image

@emilk emilk changed the title Navigation: Slow hover states High latency hover in high-resolution web viewer Dec 4, 2023
emilk added a commit that referenced this issue Dec 18, 2023
This makes a huge difference in perceived latency on my 60 Hz monitor
on macOS on a native build, e.g. when hovering buttons,
or just the distance between the cursor and the hover-window
when hovering an image.

It does produce some tearing, noticable e.g. when quickly panning
a 2D image. To me the trade-off is absolutely worth it:
tearing is a mild visual glitch that shows up occationally,
input latency is a constant irritation, making an application feel
sluggish.

It makes no difference on web though, so this does NOT
solve #2672
@emilk
Copy link
Member

emilk commented Jan 15, 2024

This seems to only be affecting Chromium on macOS with an OpenGL backend.

Workaround:

  • Go to about:flags in your browser
  • Search for ANGLE
  • Change the ANGLE graphics backend to Metal

image

This should only be a problem with the WebGL version of our web-viewer, so once we use WebGPU as our primary choice (hopefully soon in 0.12), then this problem should go away.

@emilk emilk changed the title High latency hover in high-resolution web viewer High latency hover in macOS Chromium with OpenGL backend Jan 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🪳 bug Something isn't working 🚀 performance Optimization, memory use, etc ui concerns graphical user interface 🕸️ web regarding running the viewer in a browser
Projects
None yet
Development

No branches or pull requests

2 participants