WebRender on linux starts janking after running Firefox for some time
Categories
(Core :: Graphics: WebRender, defect)
Tracking
()
People
(Reporter: smaug, Unassigned)
References
Details
Attachments
(1 file)
52.52 KB,
text/plain
|
Details |
The issue seems to happen both with Intel's iGPU and AMD's iGPU.
I haven't yet managed to get this into a performance profile.
The Firefox profile where this shows up has lots of windows and tabs open and
child process count is limited to 400 (but in practice there are way fewer child processes).
Software WebRender has worked well, and non-webrender.
Updated•4 years ago
|
Reporter | ||
Comment 2•4 years ago
•
|
||
https://share.firefox.dev/36CBGwn
This was with AMD, and happened while watching a youtube video.
Comment 3•4 years ago
|
||
Yeah, that's really bad. It looks like we're getting stuck waiting for X:
__poll
_xcb_conn_wait.part.0
<name omitted>
<name omitted>
<name omitted>
<name omitted>
<name omitted>
dri2_allocate_textures
dri_st_framebuffer_validate
<name omitted>
<name omitted>
<name omitted>
<name omitted>
<name omitted>
<gleam::gl::ProfilingGl<F> as gleam::gl::Gl>::draw_arrays
webrender::renderer::Renderer::update_gpu_cache
webrender::renderer::Renderer::render_impl
webrender::renderer::Renderer::render
wr_renderer_render
mozilla::wr::RendererOGL::UpdateAndRender(mozilla::Maybe<mozilla::gfx::IntSizeTyped<mozilla::gfx::UnknownUnits> > const&, mozilla::Maybe<mozilla::wr::ImageFormat> const&, mozilla::Maybe<mozilla::Range<unsigned char> > const&, bool*, mozilla::wr::RendererStats*)
mozilla::wr::RenderThread::UpdateAndRender(mozilla::wr::WrWindowId, mozilla::layers::BaseTransactionId<mozilla::VsyncIdType> const&, mozilla::TimeStamp const&, bool, mozilla::Maybe<mozilla::gfx::IntSizeTyped<mozilla::gfx::UnknownUnits> > const&, mozilla::Maybe<mozilla::wr::ImageFormat> const&, mozilla::Maybe<mozilla::Range<unsigned char> > const&, bool*)
mozilla::wr::RenderThread::HandleFrameOneDoc(mozilla::wr::WrWindowId, bool)
mozilla::detail::RunnableMethodImpl<mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId, bool), true, (mozilla::RunnableKind)0, mozilla::wr::WrWindowId, bool>::Run()
base::MessagePumpDefault::Run(base::MessagePump::Delegate*)
MessagePumpDefault::Run
MessageLoop::Run()
base::Thread::ThreadMain()
(root)
Reporter | ||
Comment 4•4 years ago
|
||
And happened now again while I was testing if giving more RAM for GPU to use would help. (512MB -> 2GB, didn't make any difference)
Comment 5•4 years ago
|
||
Olli, the next time it happens can you try profiling the x server? We seem to be stuck waiting for it, so it would be good to figure out what it's doing.
Comment 6•4 years ago
|
||
I'm also curious to know if it happens with MOZ_X11_EGL=1.
Comment 7•4 years ago
|
||
And me if this also happens on vanilla X11 - this was on Xwayland, right? Just thinking of of a bug in xserver where there would not be enough buffers available.
Reporter | ||
Comment 8•4 years ago
|
||
This is with xwayland yes. That is what I get by default when running Nightly on Fedora.
Comment 9•4 years ago
|
||
Olli: mind checking what happens if you log into a X11 session (on the login screen select "Gnome+X11" or so on the bottom-right)? And then, in both sessions also run nightly with MOZ_X11_EGL=1
env var? That would be super helpful for us I think :)
Reporter | ||
Comment 10•4 years ago
|
||
If possible, MOZ_X11_EGL=1 made the jank even worse.
https://share.firefox.dev/3kM7wMw
Now testing with MOZ_ENABLE_WAYLAND=1
Comment 11•4 years ago
|
||
Michel, do you have an idea what could be going on here? It appears we're blocked here while waiting for a buffer on Xwayland with radeonsi. Could that be Xwaylands fault or are we submitting buffers to fast or so?
Comment 12•4 years ago
|
||
(In reply to Robert Mader [:rmader] from comment #11)
It appears we're blocked here while waiting for a buffer on Xwayland with radeonsi.
Specifically, waiting for notification that a buffer which we previously submitted to the X server for presentation can be reused.
Could that be Xwaylands fault or are we submitting buffers to fast or so?
Not sure, could be either in theory.
I wonder if it could be related to https://bugzilla.mozilla.org/show_bug.cgi?id=1635186#c25 ? I.e. could the MakeCurrent
call be for a window which is currently not visible?
Updated•4 years ago
|
Comment 13•4 years ago
|
||
Likely the same root cause as bug 1635186 - in any case blocking Xwayland/bug 1695440
Updated•3 years ago
|
Updated•3 years ago
|
Description
•