Chromium Developers Released RenderingNG Project Optimization Results

Chromium developers unveiled recently the first results of the RenderingNG project (released 8 years ago) which is intended to do continuous work to increase Chrome's performance, reliability, and extensibility.

The technologies implemented within the RenderingNG project completely change the approach to composition and allow the adaptive use of different technologies to optimize calculations on the GPU and CPU in relation to individual parts of the pages, taking into account characteristics such as screen resolution and refresh rate, as well as the presence of support for Advanced graphics APIs in the system, such as Vulkan, D3D12 and Metal.

Among the implemented methods that allow to achieve performance gains, the parallelization of the rasterization operations of different pixels on the GPU side and a more active separation of the handlers on different CPU cores (JavaScript execution, page scrolling processing , video and image decoding, proactive content rendering) are scored.

The limiting factor for active parallelization is the increased load on the CPU, which is reflected in the increase in temperature and the increase in energy consumption, therefore it is important to achieve an optimal balance between performance and energy consumption. For example, when running on battery power, you can sacrifice rendering speed, but you cannot sacrifice scrolling processing in a separate thread, as the decrease in interface responsiveness will be noticeable to the user.

For example, optimizations added in the Chrome 94 release over Chrome 93 resulted in an 8% improvement in page latency and a 0,5% increase in battery life. Based on the size of Chrome's user base, these figures globally translate into savings of over 1.400 years of CPU time every day. Compared to previous year versions, modern Chrome renders graphics faster by over 150% and is 6x less prone to GPU driver failure on problem hardware.

As examples of optimizations, the active use of GPU texture caching and the results of rendering parts of web pages are mentioned, as well as taking into account when rendering only the area of ​​the page visible to the user (it does not make sense to render parts of the page that are covered by other content).

An important element of RenderingNG is also the isolation of performance when rendering different parts of the pagesFor example, to isolate the calculations associated with displaying ads in iframes, rendering animations, playing audio and video, scrolling content, and executing JavaScript.

Of the optimization techniques implemented, the following are mentioned:

  • Chrome 94 features the CompositeAfterPaint engine, which composes separately rendered portions of web pages and dynamically scales the GPU load. According to the data received from the user resulting from the telemetry collection, the application of a new composition system is possible to reduce the lag when scrolling to 8%, increase the responsiveness of user interaction to 3%, increase the rendering speed by 3% and Decreases GPU memory consumption by 3% and extends battery life by 0,5%.
  • Raster GPUs: rasterization mechanism on the side of the GPU, it was incorporated in all platforms in 2020 and allowed to accelerate the passage of the MotionMark test by an average of 37%, and the categories associated with HTML, by 150%.
  • LayoutNG: is a comprehensive review of page element design algorithms intended to improve reliability and predictability. The project is expected to reach users this year.
  • BlinkNG - Refactoring and cleaning up the Blink engine, dividing rendering operations into separate phases to improve caching efficiency and simplify lazy rendering, taking into account the visibility of objects in the window.
  • Transfer of displacement controllers, animation and decoding of images to separate threads. The project has been in development since 2011, and this year it has reached the possibility of moving animated CSS transformations and SVG animations into separate streams.
  • VideoNG: it is an efficient and reliable engine for playing videos on web pages. This year, the ability to display protected content in 4K resolution was implemented. HDR support was added earlier.
  • Display: separate processes for rasterization and rendering, separating rendering of the browser interface from rendering of page content.

Source: https://blog.chromium.org


Leave a Comment

Your email address will not be published. Required fields are marked with *

*

*

  1. Responsible for the data: AB Internet Networks 2008 SL
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.