I assume browser restart is needed, right?
I have a few questions:
- What are the main differences between enabling each pref?
- Which behaviors should we expect enabling them? (positive and negative)
Right, edited my post.
gfx.webrender.enabled triggers WebRender. Not all of possible config values are triggered through that. It’s a “safer bet” for now. gfx.webrendest.enabled triggers some more prefs as an addition.
Negative here would include everything that doesn’t look the same as before.
I opened that ticket:
https://bugzilla.mozilla.org/show_bug.cgi?id=1371210 Light Theme go across the website page with gfx.webrendest.enabled
but I think that I have to open another one
https://bugzilla.mozilla.org/show_bug.cgi?id=1371213 Specific item on Discourse comment area are transparent with gfx.webrender.enabled
ALso I cannot see the cursor blinking on textarea, I think that feature needs many bugfixing
I’ve enabled with webrender on Linux and:
- Occasionally I get blinking from the adress and tab bars. Maximize and restore solves it.
- From time to time I got a freeze accross all system (1-2s) when opening/closing tabs. I see a CPU peak at the same time.
I don’t think webrender is ready for any kind of QA or bug reporting at the moment (at least that’s what a webrender dev in the office told me a couple of weeks ago), but I can ping him regularly to know when it will be useful to test and report bugs.
as I said, very adventurous
I went down the very adventurous route and can confirm that it is still pre Nightly.
I look forward to trying it again in the future. I may not understand it, but happy to try it to provide feedback telemetry and bugs.
…and thanks for recommending it to me this weekend @Seburo
Early testing data FTW!!
FYI don’t enable in ‘Firefox Nightly for Developers’ on Android, it will break page rendering. You’ll need to reset the app’s setting back to defaults to get it back.
If you have root, you can directly edit perfs.js back to “false” for webrender
I gave this a try, restarted Firefox, but when I tried scrolling this page (yes, back at this very topic), Firefox Nightly (56.0a1 (2017-06-28) (64-bit)) under Windows crashed, twice.
I have it back off.
I hope you submitted the crash reports. Usually, it’s also good to look if bugs are filed for those, as they could be very valuable (any crashes with WebRender should be fixed as early as possible).
It looks like Firefox Nightly had sent four crash reports, and all had a signature of mozilla::wr::DisplayListBuilder::PushBorder and in the “related bugs” section all four point to Bug 1357734. Is there anything additional I should do, like add a comment that this also happened under Windows 7 (64-bit) with only webrender enabled and list the dump ID’s?
The story of the bug report in the last week tells very nicely how such reports help to get developers do a deeper dive and find a fix.
I just set gfx.webrender.enabled to True and it seems a bit more stable now but it sure eats the memory.
I am running Firefox Nightly 56.0a1 (2017-07-21) (64-bit) under Windows 7 Home Premium SP1 (64-bit). I use dom.ipc.processCount=10. These extensions are installed and enabled:
- Gecko Profiler (never got around to uninstalling it after having reported a performance bug some time ago)
- Hostname in Title
- SixOrNot (LEGACY)
- Tab Center Redux
- uBlock Origin/webext (labeled LEGACY in add-ons -> extensions)
- Have you tested WebRender? (yes, this page you are currently viewing)
- Titan TV
- Netflix DVD queue (6 at home, 474 queued, 105 saved, this is the one that took about a minute when I reported a performance issue, now takes 35 to 40 seconds to load and it’s now just a bit longer)
- Netflix DVD member home
- Netflix “My List” (59 titles)
(Other than the first tab, this is the type of setup I use for looking through the listings to see what movies are coming up in the next few days on cable and seeing if I can get better versions, e.g., Blu-ray, or at least without commercials, and the prediction of how I would like it before deciding to add the title to one of my Netflix queues or going ahead and schedule the DVR to record that movie. I have the URLs in one Bookmarks folder and I just do Right+Click, “open all in tabs” when I am preparing my DVR schedule. Hey, I’m retired, and this hobby isn’t as bad as some. )
Memory usage for having gfx.webrender.enabled true and false are:
False: Firefox consumes 1.13 GB of memory.
True: Firefox consumes 3.13 GB of memory.
Oh, and as I have been working on this message and also scrolling through my DVD queue (meaning: it’s pulling in thumbnails of cover arts for those titles), Firefox (gfx.webrender.enabled=true) has grown to now consuming 4.48GB.
I hope there will be some memory tuning before it is released because this is starting to edge too high for my 8GB machine.
Edited to add:
I see there are already outstanding bugs for memory usage for WebRender, e.g.,
I only did a very brief test to see what it does on a site I’m developing. I noticed a particular bug. It concerns a top nav bar that has position: sticky. If you scroll down the page very fast, you can clearly see how the text in the navbar is jumpy instead of stable.
Based on a talk about the technology behind this, I learned that text is still not GPU rendered, so there’s a separate render process for overall elements, followed by a classic CPU text render. That’s my understanding of it. It may explain how text rendering cannot keep up with GPU rendering in this example.
I would want to submit a bug report but I cannot share the page, it’s private.
I will remind about @pascal’s quote in June.
I don’t know if that’s still the case.
After seeing WebRender Newsletter #9 today, I gave it a try in my rather new Profile (no extensions) and even scrolled through this topic. The first improvement I noticed is that I didn’t crash Nightly this time.
I am observing some rough edges:
I get a blue screen for almost three seconds covering all of the area Firefox Nightly would occupy, before seeing the tab, navigation bars, etc.
The Windows control in the upper right (minimize, full screen, close) are not visible, but I do get the mouse hint when I hover the mouse pointer over where they should be, and close (X) does indeed close Firefox. I tried several themes, but those controls still remain invisible.
On the tab bar, the New Tab icon (the plus sign) is not visible with the built-in themes, but it is visible when I add a user theme.
Typing on the search bar has an unpleasant delay after hitting the second character before the third character appears. Once the third letter appears I also have search results. … Oh, this happened just once per Firefox start-up; I wonder if it was waiting on render process creation or something else, but it was annoying.
Library → Bookmarks → Show all bookmarks showed a solid black area for two seconds before displaying the bookmarks I have in that profile.
It just feels like it has a lot of jank, and hitting an apparently blank part of the top part of the Firefox window closing the browser (because the “X” is invisible) isn’t to my liking.
For my overly-long Netflix disc queue, the one that took almost a minute in Firefox Release 53, took 31 seconds in my test Nightly 58 with WebRender enabled, but only 28 seconds in my regular Nightly 58 profile with WebRender defaulted to disabled.
I’m turning it off again in my “New” Nightly profile. (I’m glad I didn’t test in my regular Nightly profile.)
It seems now it’s ready for some testing
In bug 1490742 I have enabled WebRender in Nightly on non-laptop
Windows 10 Nvidia (~17% of our Nightly audience). This is a rewrite of
much the graphics backend in Firefox. We expect some edge-case
regressions, but generally nothing serious. We have quite a few staff
and volunteers who have been using WebRender for months without major
If you’re on this hardware and you see a problem please file a bug.
You can check if you’re using WebRender by looking at the Compositing
section of about:support. Further, WebRender should be generally
usable on all platforms other than Android right now so if you want to
be keen you can try it out now with the gfx.webrender.all pref.