[Linux] Remove compositor pause/resume and use async rendering
Categories
(Core :: Widget: Gtk, enhancement, P3)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox149 | --- | fixed |
People
(Reporter: stransky, Assigned: stransky)
References
(Regressed 6 open bugs)
Details
(Keywords: perf-alert)
Attachments
(1 file, 1 obsolete file)
| Assignee | ||
Updated•5 months ago
|
| Assignee | ||
Comment 1•5 months ago
|
||
https://bugzilla.mozilla.org/show_bug.cgi?id=1997782#c9 is relevant here.
| Assignee | ||
Comment 2•5 months ago
|
||
| Assignee | ||
Comment 3•5 months ago
|
||
Almost done bud I don't understand why we need to call remoteRenderer->SendResume(); (unfortunately synced) after mCompositorWidgetDelegate set.
I'd expect the copmpositor is already running as CompositorInitiallyPaused() is set on Android only:
https://searchfox.org/firefox-main/rev/1c9d86edc5d91b67ba8c858a053de40e1b98dc95/widget/nsIWidget.cpp#1495
| Assignee | ||
Comment 4•5 months ago
|
||
SendResumeAsync(); may be a workaround if we really need to start compositor (but why?).
| Assignee | ||
Comment 5•5 months ago
|
||
Looks like we should set the rendering surface to surface provider at nsWindow::Create() and then create EGLSurface at RenderCompositorEGL::RenderCompositorEGL(). We also need to make sure GLX rendering is not broken.
| Assignee | ||
Comment 6•5 months ago
|
||
Updated•5 months ago
|
| Assignee | ||
Comment 7•5 months ago
|
||
| Assignee | ||
Updated•5 months ago
|
| Assignee | ||
Updated•5 months ago
|
Updated•4 months ago
|
| Assignee | ||
Updated•4 months ago
|
Comment 10•4 months ago
|
||
| Assignee | ||
Comment 12•4 months ago
|
||
I can reproduce the timeout locally but I have no idea what causes it:
0:13.21 GECKO(201597) [Parent 201597: Main Thread]: D/Widget [7fa76d7d3900]: nsWindow::OnShellConfigureEvent() [960, 556] -> [800 x 500] scale 2.00 (scaled size 1600 x 1000)
0:13.21 GECKO(201597) [Parent 201597: Main Thread]: D/Widget [7fa76d7d3900]: OnPropertyNotifyEvent(_NET_FRAME_EXTENTS)
0:13.21 GECKO(201597) [Parent 201597: Main Thread]: D/Widget [7fa76d7d3900]: nsWindow::OnShellConfigureEvent() [960, 556] -> [1 x 1] scale 2.00 (scaled size 2 x 2)
The library toplevel window is rendered 1x1 size after _NET_FRAME_EXTENTS.
| Assignee | ||
Comment 13•4 months ago
|
||
Fixed by latest patch update. Let's wait when code freeze is over.
| Assignee | ||
Updated•4 months ago
|
Comment 14•4 months ago
|
||
Comment 15•4 months ago
|
||
| bugherder | ||
Comment 16•4 months ago
|
||
(In reply to amarc from comment #15)
Perfherder has detected a talos performance change from push 4898d067ee28f052f9d1c57ffde37dc0aad68e33.
No action is required from the author; this comment is provided for informational purposes only.
| Improvement | Test | Platform | Options | Absolute values [old vs new] |
|---|---|---|---|---|
| 8% | twinopen ext+twinopen:twinopen.html (doc) | linux1804-64-shippable-qr | e10s fission stylo webrender-sw | 156.74 ms -> 144.76 ms |
Need Help or Information?
If you have any questions, please reach out to fbilt@mozilla.com. Alternatively, you can find help on Slack by joining #perf-help, and on Matrix you can find help by joining #perftest.
Details of the alert can be found in the alert summary, including links to graphs and comparisons for each of the affected tests.
Description
•