Browser Rendering Pipeline Hot Switch for GPU Startup Delay
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Chromium-based browser applications experience computationally inefficient delays due to GPU initialization during web content rendering, affecting user experience, especially during cold starts.
Innovation Solution
Implementing two independent rendering pipelines within the browser application architecture, one using CPU resources and the other using GPU resources, allowing for initial rendering with the CPU while preparing the GPU for a seamless switch to GPU rendering once initialized.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If GPU-based rendering engine is used, then rendering performance is improved, but initialization time increases causing user-perceivable delays
Solution Approach 1:
The system performs preliminary GPU initialization in the background before the user actually needs to view web content. By pre-initializing the GPU rendering engine during idle periods or system startup, the actual web content rendering can immediately utilize the GPU without waiting for initialization, thus eliminating user-perceivable delays while maintaining high rendering performance
Solution Approach 2:
The rendering system is segmented into two independent pipelines: a CPU-based rendering pipeline for immediate web content rendering, and a GPU-based rendering pipeline for high-performance rendering of specific elements. This segmentation allows the CPU pipeline to handle urgent rendering tasks without waiting for GPU initialization, while the GPU pipeline prepares in advance for subsequent high-performance rendering tasks
2Productivity
If GPU resources are used for rendering, then rendering efficiency is improved, but device complexity increases
Solution Approach 1:
The browser architecture is segmented into two independent rendering pipelines with distinct responsibilities. The CPU-based pipeline handles general web content rendering and page layout, while the GPU-based pipeline specializes in rendering specific high-performance elements. This segmentation allows each pipeline to be optimized independently, maintaining rendering efficiency while managing complexity through clear functional separation
Solution Approach 2:
The rendering system implements multi-functionality by enabling the browser to dynamically select between CPU-based and GPU-based rendering pipelines depending on the specific rendering task. The CPU pipeline serves as a universal fallback for all web content, while the GPU pipeline provides enhanced performance for specific elements, creating a universal system that adapts to different rendering requirements
Data Source
AI summary
A method and an electronic device for rendering web content in a browser application are provided. The method comprises: receiving a given web content to be rendered in the browser application; executing a first rendering phase, during which the browser application is configured to: render the given web content by using currently available computational resources of a central processing unit (CPU); and initialize a graphics processing unit (GPU) for rendering the given content; in response to receiving an indication of the GPU having been initialized, executing a second rendering phase following the first rendering phase, during which the browser application is configured to: execute a hot switch from the rendering the given content using the CPU to rendering the given content of the given webpage using the GPU, thereby continue rendering the given content; and display the rendered given content on a screen of the electronic device.


