Quantum Flow Engineering Newsletter #18

This has been a busy week.  A lot of fixes have landed, setting up the Firefox 57 cycle for a good start.  On the platform side, a notable change that will be in the upcoming Nightly is the fix for document.cookie using synchronous IPC.  This super popular API call slows down various web pages today in Firefox, and starting from tomorrow, the affected pages should experience a great speedup.  I have sometimes seen the slowdown caused by this one issue to amount to a second or more in some situations, thanks a lot to Amy and Josh for their hard work on this feature.  The readers of these newsletters know that the work on fixing this issue has gone on for a long time, and it’s great to see it land early in the cycle.

On the front-end side, more and more of the UI changes of Photon are landing in Nightly.  One of the overall changes that I have seen is that the interface is starting to feel a lot more responsive and snappy than it was around this time last year.  This is due to many different details.  A lot of work has gone into fixing rough edges in the performance of the existing code, some of which I have covered but most of which is under the Photon Performance project.  Also the new UI is built with performance in mind, so for example where animations are used, they use the compositor and don’t run on the main thread.  All of the pieces of this performance puzzle are nicely coming to fit in together, and it is great to see that this hard work is paying off.

On the Speedometer front, things are progressing with fast pace.  We have been fixing issues that have been on our list from the previous findings, which has somewhat slowed down the pace of finding new issues to work on.  Although the SpiderMonkey team haven’t waited around and are continually finding new optimization opportunities out of further investigations.  There is still more work to be done there!

I will now move own to acknowledge the great work of all of those who helped make Firefox faster last week.  I hope I am not mistakenly forgetting any names here!

Tagged with: , ,
5 comments on “Quantum Flow Engineering Newsletter #18
  1. klop*cz says:

    Many thanks to you for great report.

  2. voracity says:

    Recent versions are feeling really nice and snappy (both UI and engine). Great stuff!

    I am still getting some scrolling choppiness on sites like Ars Technica (as was the case before). Is anything on the radar that might do some nice things there?

    • ehsan says:

      Maybe! Can you please provide some more information about the issues you’re seeing so that I can investigate a little bit and see if the underlying causes are covered by one of the ongoing areas of current work? Information such as the version of Firefox you’re seeing this issue on, your operating system, some example links to the articles where the scrolling choppiness can be observed, and also how you scroll the page (for example using the arrow keys, or the space key, or the mouse wheel, or a touchpad device, etc.) would be extremely helpful. Thanks in advance!

      • voracity says:

        Sure. Stuff like this is always a bit vague, so I don’t file bugs on them, but I’ll try to describe what I’m seeing.

        The choppiness is apparent on Fx 54.0.1 as well as on the latest nightly (2017-08-11). I’m not sure if Ars has always been choppy, but it has been at least since they redesigned the site (I’m not sure when that was — maybe a year ago?).

        System: Windows 7 (64bit), i7-2630qm, 8gb ram, Intel HD 3000 graphics (AMD hybrid off)

        I’m using a mouse with a scrollwheel. The scrollwheel has noticeable ‘stop’ positions, and if I flick the wheel by just 1 stop position, you can see the Ars home page shudder/shake a bit to the next scroll point. Actually, now that I check, most pages do that to some extent. However, if I flick the scroll wheel repeatedly with a tempo that is *just* enough to make the page scroll continuously, Ars stutters really badly, which most other pages don’t do. (By contrast, say, this page scrolls great, abc.net.au/news scrolls great, cnn.com is not quite as good, but still very good.)

        Also tried on my Windows 10 (64 bit), i5-4200u, Intel HD graphics, and the bad stutter doesn’t seem to be there. The shudder/shake (for all pages) is about the same (and which I’m not as fussed about). And just as a point of contrast: the shudder/shake for all pages seems to be in Chrome as well, but the scroll between stop positions is set to run so fast, that it’s hard to notice anything unless you look really closely.

        I’m not sure if that was helpful. 🙂

        • ehsan says:

          On the contrary, that is actually quite helpful. There’s a chance that you’re experiencing some kind of performance issue, and I’d like to learn more about why that’s happening to see if it’s covered by some of the existing work undergoing or if we need to work on fixing the issue you’re seeing additionally. Do you mind going to perf-html.io and install the profiler extension from there. Using it is quite simple, all you have to do is to ensure it’s running in the background (you can tell it’s running if the toolbar icon is blue) and when you experience the scrolling choppiness you explained above, you can capture a profile by pressing Ctrl+Shift+2 or by clicking on the toolbar icon and selecting Capture Profile. This allows us to get information about the performance issue that happened after the fact, so you can do the above any time you noticed the problem.

          In the tab that is opened once you do this, you can click on Share to upload the resulting profile. Once the upload is finished, a short URL is displayed. Please copy this URL and file a bug about it. You can drop a link to the bug here, and I will take things from there! 🙂 Thanks in advance!

          BTW, if possible, please try running Nightly when testing this, since that will help us know that we should ignore all of the fixed issues on Nightly (as none of them clearly have fixed the issue you’re experiencing!)