Scrolling in Firefox to get a lot better thanks to APZ - gHacks Tech News

Scrolling in Firefox to get a lot better thanks to APZ

If you run a Nightly version of the Firefox web browser with E10s enabled, you may have noticed that scrolling and zooming improved after you have installed the latest update of that particular version of Firefox.

Nightly is the cutting edge channel of Firefox that gets new feature additions first. It may take up to three release cycles -- three six week periods -- for features to land in the stable version of Firefox. Before they do, they are usually enabled in the developer and beta version first.

E10s is Firefox's multi-process architecture that is enabled in Nightly but not in Firefox stable. While that means that it will take months before the feature lands in Firefox stable, it is definitely something that Firefox users can look forward to.

If you run Firefox Nightly with E10s enabled, then you don't need to do anything and should notice the better scrolling and zooming behavior of the browser immediately.

Update: Mozilla will launch the feature in Firefox 46 Beta.

Please note that APZ is only enabled if you run Firefox with E10s enabled. The preference that determines whether APZ is enabled or not is layers.async-pan-zoom.enabled.

firefox apz scrolling

The status of the preference is set to true if all requirements are met. You may run into issues on some sites currently as noted on [email protected]. If you do, you may want to toggle the preference to set it to false and deactivate the new scrolling behavior for now.

APZ is an acronym for the Async Pan Zoom module which enables asynchronous panning and zooming.

For zooming, this means that the APZ reacts to a pinch gesture immediately and instructs the compositor to scale the already-rendered layers at whatever resolution they have been rendered (so e.g. text becomes more blurry as you zoom in), and meanwhile sends a request to Gecko to re-render the content at a new resolution (with sharp text and all).

For panning, this means that the APZ asks Gecko to render a portion of a scrollable layer, called the "display port", that's larger than the visible portion. It then reacts to a pan gesture immediately, asking the compositor to render a different portion of the displayport (or, if the displayport is not large enough to cover the new visible region, then nothing in the portions it doesn't cover - this is called checkerboarding), and meanwhile sends a request to Gecko to render a new displayport.

Detailed information about APZ in Firefox are available on Mozilla's Wiki website.

I have created a short demonstration video that visualizes the difference between Firefox 39 (Stable) and Firefox 42 (Nightly). Note that the real-world experience is much better than what is shown in the video.

Now you: Have you tried Firefox with APZ enabled yet?

Summary
Article Name
Scrolling in Firefox to get a lot better thanks to APZ
Description
Mozilla enabled APZ in Firefox 42 recently which improves the web browser's scrolling and panning performance significantly.
Author

We need your help

Advertising revenue is falling fast across the Internet, and independently-run sites like Ghacks are hit hardest by it. The advertising model in its current form is coming to an end, and we have to find other ways to continue operating this site.

We are committed to keeping our content free and independent, which means no paywalls, no sponsored posts, no annoying ad formats or subscription fees.

If you like our content, and would like to help, please consider making a contribution:

Comments

  1. ZzzZombi said on July 28, 2015 at 6:47 pm
    Reply

    The difference is day and night. I just went ahead and enabled the entry in the stable. So far, nothing problematic. Also I’ve noticed some entries that was enabled in Nightly and not in stable. For example: “gfx.vsync.hw-vsync.enabled” and “gfx.vsync.compositor”. These look like they might affect the scrolling.

    On a side note, really looking forward to e10 in stable channel too.

  2. Tom Hawack said on July 28, 2015 at 7:13 pm
    Reply

    APZ may improve zoom and scrolling speed/quality, meanwhile the [MultiprocessIncompatibleExtensions] section in my Cyberfox profile’s extensions.ini file shows 39 add-ons. 39 add-ons which will be out of service once Electrolysis, E10 ot whatever is the name, is out, if not updated by their developers. I know, progress leads mankind and creates its casualties. 39 casualties is a lot :)

  3. Ian Williams said on July 28, 2015 at 8:25 pm
    Reply

    I know I am off Topic here and I apologize to everyone: I read Ghacks every day but this is my first Post on the website.
    None of my computers can reach Windows Update today. I am in the Eastern Time Zone in Canada. Just wondered if this is something to do with Tomorrow’s Windows 10 Roll Out.

    1. Rick said on July 28, 2015 at 9:32 pm
      Reply

      The update servers are working, but it is hit and miss whether you connect and when you do, it’s slow as molasses on a cold winter’s day in Nunavut.

      And, you are correct; the people that reserved win10 are getting their downloads today for the most part.

      1. Ian Williams said on July 28, 2015 at 11:36 pm
        Reply

        I like that description Rick!

    2. Jeff said on July 28, 2015 at 9:42 pm
      Reply

      I imagine it is related to that, yes. It’s already July 29 in parts of the world.

      1. jonas said on July 28, 2015 at 9:52 pm
        Reply

        July 29 already in some parts of Asia yet no update for windows 10 available

  4. Yuliya said on July 28, 2015 at 9:27 pm
    Reply

    I tried this by downloading latest Nightly x64. For me FireFox’s smooth scroll was really smooth before. With this it feels like walking on ice, it never stops where I want it to :| Probably it takes time to get used to..

    Also, a bit offtopic: I noticed this ‘Change search settings’ button in the address suggestion box, can it be disabled? It takes too much space.
    https://i.imgur.com/wgAEKPX.png

  5. alx said on July 29, 2015 at 5:48 am
    Reply

    I found firefox 40 beta8 (no E10s), already have this perameter (layers.async-pan-zoom.enabled) in my about:config preference, and it work instantly when being enabled, and page scrolling like sliding as yours said.

    P.S. : I use same profile for testing both beta and alpha2 version of firefox.

  6. H said on July 29, 2015 at 11:46 pm
    Reply

    I enabled layers.async-pan-zoom.enabled on Firefox 39, works well for most websites. Some websites, scrolling doesn’t work anymore with the mouse.

    Any fix for that?

  7. Slam Speech said on August 2, 2015 at 4:46 am
    Reply

    Thanks for the tip!! I actually looked in the Developer Edition and 39. It was disabled, so I enabled it. It is like night and day. Just looking at the changes that are coming down the pipeline in the next couple of builds makes me excited.

    Most gripes I hear about FF are kind of moot points. Even though Mozilla isn’t perfect they are definitely making Firefox a lot better. I was worried most addons would break with e10, but it seems like most have actually updated recently. There are still a few that don’t.

    The main thing I want is a single point zoom, like on a tablet where it doesn’t try to reflow your text.

  8. David.P said on September 20, 2015 at 6:09 pm
    Reply

    I enabled “layers.async-pan-zoom.enabled” in FF 40.0.3. Could be that scrolling is somewhat better. But it is still RIDICULOUSLY bad as compared to the new M$ Edge browser.

    FF still is unable to bloody load one page in the background AND at the same time scroll the foreground tab fluidly. On a gaming monster PC.

    Ridiculous.

    Vote here:
    https://bugzilla.mozilla.org/show_bug.cgi?id=1204335

Leave a Reply

Check the box to consent to your data being stored in line with the guidelines set out in our privacy policy

Please note that your comment may not appear immediately after you post it.