RESOLVED FIXED 154069
[Threaded Compositor] Flickering when zooming in/out in maps.google.com
https://bugs.webkit.org/show_bug.cgi?id=154069
Summary [Threaded Compositor] Flickering when zooming in/out in maps.google.com
Carlos Garcia Campos
Reported 2016-02-10 03:19:24 PST
Open maps.google.com and zoom in/out with the mouse scroll wheel, you see flickering.
Attachments
Patch (8.11 KB, patch)
2016-07-07 06:42 PDT, Miguel Gomez
no flags
Carlos Garcia Campos
Comment 1 2016-06-14 22:29:05 PDT
I've built with accelerated 2d canvas disabled, and the result is the same. Flickering when zooming and text sometimes disappear, even the background is sometimes fully back.
Carlos Garcia Campos
Comment 2 2016-06-14 22:53:49 PDT
And the same with the redirected X window disabled.
Carlos Garcia Campos
Comment 3 2016-07-07 03:46:00 PDT
Disabling WebGL in MiniBrowser settings fixes the issue, so I guess it's a problem with the threaded compositor and WebGL.
Miguel Gomez
Comment 4 2016-07-07 05:35:29 PDT
The problem here is that the webgl frames are rendered faster than they are composited. As we only have 2 buffers in GraphicsContext3D to hold the rendered frames, sometimes a buffer is reused for rendering when it hasn't been composited yet (or while it's being composited), and this causes the flickering. I'll attach a patch that fixes this by using one extra buffer to hold the renderings. This removes the flicker issues. But at some point we should add a general solution (also for the acc canvas) that somehow blocks the renderings when there are no buffers available.
Miguel Gomez
Comment 5 2016-07-07 06:42:13 PDT
Carlos Garcia Campos
Comment 6 2016-07-19 03:21:06 PDT
(In reply to comment #4) > The problem here is that the webgl frames are rendered faster than they are > composited. > As we only have 2 buffers in GraphicsContext3D to hold the rendered frames, > sometimes a buffer is reused for rendering when it hasn't been composited > yet (or while it's being composited), and this causes the flickering. > > I'll attach a patch that fixes this by using one extra buffer to hold the > renderings. This removes the flicker issues. > > But at some point we should add a general solution (also for the acc canvas) > that somehow blocks the renderings when there are no buffers available. If at some point this is the only blocker to enable the threaded compositor, I prefer to land this to fix the issue. We can always improve it later.
Carlos Garcia Campos
Comment 7 2016-07-21 00:08:17 PDT
Comment on attachment 283008 [details] Patch Let's land this for now, thanks Miguel! File new bug reports for any improvements you might want to do.
WebKit Commit Bot
Comment 8 2016-07-21 00:30:37 PDT
Comment on attachment 283008 [details] Patch Clearing flags on attachment: 283008 Committed r203498: <http://trac.webkit.org/changeset/203498>
WebKit Commit Bot
Comment 9 2016-07-21 00:30:44 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.