Open Bug 1436056 Opened 7 years ago Updated 2 years ago

Sync painting during tab dragging

Categories

(Core :: Widget: Cocoa, enhancement, P2)

enhancement

Tracking

()

People

(Reporter: jrmuizel, Unassigned)

References

(Blocks 2 open bugs)

Details

This doesn't seem necessary. https://perfht.ml/2Eo31Gs
This probably only happens on macOS
See Also: → 1436135
When we address the problem, we need to check if Bug 1380462 does not regress.
See Also: → 1380462
(In reply to Jeff Muizelaar [:jrmuizel] from comment #1) > This probably only happens on macOS Sync painting does not happen on windows with WebRender. It is because nsWindow::OnPaint() is not implemented yet well for WebRender. Then, instead jiggle happened during resizing on Windows. Sync wait is for preventing jiggle during resizing.
Then sync wait seems necessary to avoid jiggle. But if there is a situation that we could avoid sync painting, we should avoid it.
Sync wait was added by bug 873944.
See Also: → 873944
See Also: → 1442146
What do you mean by tab dragging? Is that dragging a tab to a different order within the tab strip? Or dragging it out into a new window? Can you check to see if it reproduces on Windows? We shouldn't block stage-wr-trains if it doesn't.
Flags: needinfo?(jmuizelaar)
I saw syn FlushRendering() during dragging a tab to a different order within the tab strip.
(In reply to Matt Woodrow (:mattwoodrow) from comment #6) > What do you mean by tab dragging? Is that dragging a tab to a different > order within the tab strip? Or dragging it out into a new window? Different order within the tab strip. > > Can you check to see if it reproduces on Windows? We shouldn't block > stage-wr-trains if it doesn't. It seems to only happen on mac.
Blocks: wr-mac, stage-wr-next
No longer blocks: stage-wr-trains
Flags: needinfo?(jmuizelaar)
It doesn't seem WebRender specific either. Something calls setNeedsDisplay on our window; it might be us or it might be the system because we use drag&drop APIs or because we have this preview window. I'm actually not sure if the tab dragging preview rectangle is a Gecko window or if it's just a drag image. Moving to Widget:Cocoa.
Component: Graphics: WebRender → Widget: Cocoa
We might be able to do something similar to Bug 1486958, where we're trying to make widget paint requests only sync in certain cases (resizing).
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.