Layout Engine Recursive Rendering for Web Pages
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current browser technologies face challenges in efficiently rendering and re-rendering complex web pages with dynamic layouts, especially over low-data-rate connections, due to the need for frequent translations and limited computational power, which is exacerbated by late content arrivals and changes in style sheets and markup language documents.
Innovation Solution
A method utilizing a layout engine that recursively traverses a structured document tree to define metrics for nodes, employing primitive and composing renderers to perform computationally efficient rendering and re-rendering, including min/max calculations and re-use of rendered content to simplify logic and improve computational efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If frequent re-translations are performed to handle late content arrivals and style sheet changes, then the web page can be displayed correctly, but the computational load increases significantly
Solution Approach 1:
The patent segments the web page content into multiple independent objects with unique identifiers. When style sheet changes or late content arrives, only the affected segments need re-rendering rather than the entire page. The layout engine processes and caches individual objects separately, enabling selective updates that reduce computational load while maintaining correct display.
Solution Approach 2:
The patent performs preliminary parsing and object identification during the initial translation phase. Content objects are pre-identified and tagged with unique identifiers before rendering. This preliminary action enables efficient incremental updates later, as the system already has the structural information needed to quickly re-render only affected portions without full re-translation.
2Manufacturing precision
If the browser performs complete re-translation of the document, then layout correctness is maintained, but translation time increases
Solution Approach 1:
The patent divides the document into discrete content objects that can be independently processed. When updates are needed, the system identifies affected objects by their unique identifiers and re-translates only those segments rather than the entire document. This segmentation maintains layout correctness for updated portions while significantly reducing overall translation time.
Solution Approach 2:
The patent discards cached layout information for specific objects when style sheet changes or content updates occur, then re-translates only those discarded objects. The unchanged objects retain their cached information, avoiding redundant translation work. This selective discarding and recovering approach preserves layout correctness while minimizing translation time.
3Loss of energy
If the device has limited computational power, then power consumption is reduced, but rendering performance deteriorates
Solution Approach 1:
The patent segments rendering into discrete, independently processable objects. The device can process these segments sequentially or in parallel batches, allowing limited computational power to be efficiently utilized. Power-intensive operations are distributed over time across multiple object renderings rather than requiring peak power for complete page rendering at once.
Solution Approach 2:
The patent implements partial rendering where only the necessary portion of the document is translated and rendered at any given time. Content objects are processed as they become available or are needed, rather than waiting for complete document translation. This partial action approach maintains acceptable rendering performance on low-power devices by avoiding the energy cost of complete re-translations.
Data Source
Figure 1A~1B
Figure 2A~2B
Figure 3A~3B
AI summary
The invention relates to a method in rendering of a compound graphical document described by a markup language document. It is characterized by that the method renders a first display type by recursively using at least two composing types, enters a first composition renderer that implements a first composing type at a first time point, and enters a second composition renderer that implements a 'second composing type at a second time point being later than the first time point.