Document Layout Engine Incremental Rendering
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing online document processing services face inefficiencies in laying out and rendering documents, particularly in web browsers or mobile applications, as they often require relaying the entire page when changes are made, leading to slow performance.
Innovation Solution
The system employs a hierarchical architecture of objects to identify, lay out, and render document elements, using position information to generate and update layout data for positioned elements, allowing for incremental rendering and reducing the need to reformat the entire page.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If the entire page is re-laid out when changes are made, then layout accuracy is maintained, but rendering speed deteriorates
Solution Approach 1:
The patent segments the document into independent positionable elements (paragraphs, images, tables, etc.) and maintains a list of their positions. When changes occur, only the affected elements and their neighboring elements are re-laid out rather than the entire page, resolving the contradiction between maintaining layout accuracy and improving rendering speed.
2Manufacturing precision
If position information is maintained for all elements, then layout precision is improved, but system complexity increases
Solution Approach 1:
The patent implements self-service through automatic position detection and conflict resolution. The system automatically detects position conflicts between elements and resolves them without requiring manual intervention, maintaining layout precision while reducing the operational complexity of the system.
3Productivity
If incremental updates are implemented, then rendering efficiency is improved, but position conflict detection becomes more difficult
Solution Approach 1:
The patent applies preliminary action by pre-establishing a comprehensive list of all positionable elements and their positions before rendering begins. This pre-organization of position information enables efficient incremental updates while simplifying conflict detection, as the system can quickly reference the pre-established list to identify and resolve conflicts during incremental rendering.
Data Source
AI summary
A list indicating positions of positioned elements on a page of a document is maintained by a page object associated with the page. First position information indicating a first position of a first positioned element having a position that conflicts with a location of a first element associated with the page is transmitted by the page object to a first element object associated with the first element, the first element object being subordinate to the page object within a hierarchy. The first element object generates first layout data. The list is updated by the page object based on a position of a second positioned element having a position that conflicts with the first element. A second element object associated with a second element associated with the page, and subordinate to the page object within the hierarchy, is invoked by the page object to generate second layout data.


