Asynchronous Rendering with Primitive Grouping for Responsive Interfaces
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In big data scenarios, rendering interfaces after data processing often leads to blockage and prolonged white screens due to the large volume of data processed, causing rendering time to be too long and affecting user experience.
Innovation Solution
An asynchronous rendering method that groups primitives into multiple groups based on their functions, assigns synchronous and asynchronous rendering flags, and utilizes separate rendering processes for each group to improve rendering speed and user experience.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If all primitives are rendered using a single synchronous rendering process, then rendering completeness is ensured, but rendering time becomes too long causing blockage and prolonged white screens
Solution Approach 1:
The patent divides primitives into multiple groups (e.g., background primitives, chart primitives, tooltip primitives) and assigns different rendering processes to each group. This segmentation allows parallel processing of rendering tasks, reducing total rendering time while maintaining completeness by ensuring all groups are rendered through their respective processes.
Solution Approach 2:
The patent implements dynamic rendering process selection based on primitive group characteristics. Different rendering processes (synchronous or asynchronous) are dynamically assigned to different primitive groups depending on their rendering requirements, enabling flexible optimization of rendering performance while ensuring all content is rendered.
2Device complexity
If a single rendering process is used for all primitives, then process simplicity is maintained, but user interaction responsiveness deteriorates due to rendering blockage
Solution Approach 1:
The patent segments rendering tasks into independent primitive groups that can be processed by different rendering processes. This allows user interactions to trigger responsive updates in specific groups without blocking the entire rendering system, improving responsiveness while managing complexity through structured organization.
Solution Approach 2:
The patent introduces a rendering flag mechanism as an intermediary that determines which rendering process should be used for each primitive group. This intermediary layer simplifies the decision-making complexity by providing clear rules for process selection, while enabling responsive user interactions through appropriate process assignment.
3Productivity
If asynchronous rendering is implemented for all primitive groups, then rendering speed is improved, but rendering reliability may be compromised due to potential interference between processes
Solution Approach 1:
The patent segments primitive groups into distinct categories (background, chart, tooltip) and assigns appropriate rendering processes to each. This segmentation ensures that asynchronous rendering is applied where it improves speed without compromising reliability, as each group's rendering requirements are considered in the process assignment.
Solution Approach 2:
The patent applies different rendering quality and process characteristics to different primitive groups based on their specific requirements. Critical groups that require high reliability use synchronous rendering, while non-critical groups benefit from asynchronous rendering, achieving optimal balance between speed and reliability locally for each group.
Data Source
AI summary
The present disclosure provides an asynchronous rendering method and apparatus, a device and a storage medium. The asynchronous rendering method is applied to a rendering engine, the rendering engine includes a synchronous rendering process and an asynchronous rendering process. The method includes: grouping primitives in an interface to be rendered to a plurality of primitive groups based on functions corresponding to each primitive of the primitives; determining rendering flags corresponding to each of the plurality of primitive groups, wherein the rendering flags include a synchronous rendering flag and an asynchronous rendering flag; and rendering primitive groups based on the rendering flags corresponding to each of the plurality of primitive groups, wherein a primitive group with the synchronous rendering flag is rendered by the synchronous rendering process, and a primitive group with the asynchronous rendering flag is rendered by the asynchronous rendering process.


