As web pages continue to evolve, featuring 3D graphics and intricate animations, browser user interfaces (UIs) have lagged behind with less captivating visuals and occasionally stuttering animations. In response to this discrepancy, Opera One has introduced a Multithreaded Compositor to improve browser UI performance and enhance user experience.
Opera One, the latest version of the Opera browser, boasts a revamped UI with innovative features such as Tab Islands and ultra-smooth animations. The secret behind these improvements lies in the way Opera One handles browser tasks more efficiently.
Multithreading is crucial to the rendering process in Chromium-based browsers, which utilize a main thread and a compositor thread. The main thread manages the overall rendering process, interpreting HTML, CSS, and JavaScript code, as well as handling user inputs. Meanwhile, the compositor thread takes the elements produced by the main thread and displays them on the screen, ensuring smooth effects like animations and transitions.
However, the browser UI—consisting of the address bar, search bar, buttons, and tabs—typically operates on a single UI thread. Consequently, animations and other elements may appear dull or experience stuttering as the UI thread struggles to keep up with the workload.
Opera One tackles this issue by introducing a Multithreaded Compositor, which incorporates two key changes:
- The addition of a compositor thread in the UI, similar to how the webpage renderer works, alleviates some of the burden on the UI thread. The separate compositor thread handles the actual painting of animations to the screen, preventing stuttering or hitching even if the UI thread is momentarily blocked.
- The switch to layer-based animations, which exclusively run on the compositor thread without UI involvement, allows animations to continue smoothly even if the UI thread is occupied. Layer-based animations offer better performance, utilizing affine transformations to modify an already drawn layer instead of redrawing each frame.
Opera One’s Multithreaded Compositor ensures that users enjoy a consistently smooth and visually appealing experience with seamless animations. You can try it yourself by downloading the Opera browser here.