Chrome's rendering gets faster: here is what Google does not tell you

Martin Brinkmann
Jan 31, 2017
Google Chrome
|
10

Google announced yesterday that it has implemented several improvements in the company's Chrome web browser that improve how the browser renders content.

While improvements in raw speed are always good, there is only so much you can do about that. This is why Google started to look at other methods to improve performance of Chrome.

One improvement that Google mentions in the article changes how Chrome handles redraws of pages. The browser identifies areas of the page that have not changed, and those that have changed. Anything that has not changed is copied which speeds up the operation.

Performance can take a hit when pages are very dynamic. Google's optimization has Chrome track draw commands, and enables the browser to identify elements that have not been modified. It can then copy the entire thing from cache, which, according to Google, may speed up the painting of a new frame by up to 35%.

The article describes a second optimization method in which Google Chrome copies tiles from previous frames, to only update specific pixels in that tile afterwards to speed up the time it takes to redraw.

This new method reduces the tile redraw time by up to 40% according to the company.

This sounds all good and great, but Google fails to mention that the second method is not supported by all operating systems, and even architectures.

If you follow the link to Intel's blog post about the new zero-copy feature, you will learn that the feature is only enabled by default on Chrome OS. The article dates back to March 2016 though but Google gives no indication on the version of Chrome, nor the operating systems it is enabled on by default.

Zero Copy Tile Update Mode

chrome zero copy

To check whether the new Zero Copy mode is available on your device, do the following:

  1. Load chrome://gpu in the browser's address bar.
  2. Under Graphics Feature Status, check if Native GpuMemoryBuffers is enabled. If it is not, e.g. Software Only, then you cannot make use of that right now.
  3. Under Compositor Information, check if Tile Update Mode is set to Zero-copy.

chrome zero copy

If only Tile Update Mode is not set correctly, the default is set to One-copy, then you may enable the feature in the following way:

  1. Load chrome://flags/#enable-zero-copy in Chrome's address bar.
  2. The flag Zero-copy rasterizer enables the feature in Chrome when you set it to enabled.
  3. Restart Chrome after making the change, and check the chrome://gpu page again afterwards. IT should show zero-copy there.

Closing Words

A couple of things are unclear after reading Google's blog post. First, the company does not mention the Chrome version, or operating systems the new features are available for.

There is also no mentioning of whether the new zero-copy feature is an Intel only feature, or available for non-Intel processors as well.

Now You: What's your take on the announcement?

Summary
Chrome's rendering gets faster: here is what Google does not tell you
Article Name
Chrome's rendering gets faster: here is what Google does not tell you
Description
Google announced yesterday that it has implemented several improvements in the company's Chrome web browser that improve how the browser renders content.
Author
Publisher
Ghacks Technology News
Logo
Advertisement

Previous Post: «
Next Post: «

Comments

  1. Felix said on February 7, 2018 at 10:16 pm
    Reply

    It works also with NW.js (node-webkit).

  2. SpoliatoR said on February 1, 2017 at 7:54 pm
    Reply

    Yes it work in Linux too… v.56.0.5924
    In Gnome like this:
    sudo cd /usr/share/applications/chromium.desktop
    Edit -> Exec=chromium %U to -> chromium –enable-native-gpu-memory-buffers %U
    Save and end session and logout – login. Start chromium and test.

  3. mkdante381 said on February 1, 2017 at 12:39 am
    Reply

    You must add to exe
    –enable-native-gpu-memory-buffers
    example:
    “C:\Program Files (x86)\Google\Chrome\Application\chrome.exe” –enable-native-gpu-memory-buffers

  4. Sanferino said on January 31, 2017 at 9:51 pm
    Reply

    The first optimization is a very old trick in the book, even Flash has been doing this for more than 10 years. I thought all browsers were doing it too, by now. I guess they had other things to do… Or they just refined something that existed in the browser already and squeezed more juice as a result.

    The second optimization is an improvement, you can tell from its characteristics that it is more recent.

  5. ak said on January 31, 2017 at 9:09 pm
    Reply

    You can enable Native GpuMemoryBuffers by opening chrome shortcut properties and adding –enable-native-gpu-memory-buffers in target after space.

    1. Al Foysal said on June 19, 2017 at 1:51 am
      Reply

      Please clearly how may i enable Native GpuMemoryBuffers? Please give me details instructions.Awaiting and thank you.

    2. Martin Brinkmann said on January 31, 2017 at 9:12 pm
      Reply

      Interesting, thanks for the tip!

      1. Jacob Groß said on February 2, 2017 at 1:32 pm
        Reply

        In the Chromium Bug Tracker I’ve read this flag does only simulate (= software) as well. It just doesn’t say so anymore.

  6. Earl said on January 31, 2017 at 8:32 pm
    Reply

    Only Chrome OS? Well, if so… gotta start somewhere (said the guinea pig).

  7. cryohellinc said on January 31, 2017 at 8:10 pm
    Reply

    Trying it now on Chrome Version 57.0.2987.13 dev (64-bit). Seems to work, it wasn’t slow to be honest, but let’s test it out. Thank you for sharing Martin. :)

Leave a Reply

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

We love comments and welcome thoughtful and civilized discussion. Rudeness and personal attacks will not be tolerated. Please stay on-topic.
Please note that your comment may not appear immediately after you post it.