Prioritized UI Component Rendering via Render Management Service

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing UI rendering systems process components in the order they appear in the render tree, leading to delays in rendering high-priority components, which can result in a perception of slowness for the end user.

Innovation Solution

A data processing system that prioritizes the rendering of UI components based on assigned priority orders, using a render management service to manage the rendering process and ensure that high-priority components are rendered first.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If UI components are processed in the sequence they appear in the render tree, then the processing order is simple and follows the natural structure, but high-priority components appearing later in the tree are delayed and rendered after less important components

Engineering Contradiction:
Improverendering speed of high-priority componentsVSAvoidcomplexity of rendering system
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by assigning priority values to UI components before rendering begins. The render management service pre-processes the component tree, identifies high-priority components, and creates a prioritized rendering queue before actual rendering starts, allowing important components to be rendered first without changing the overall rendering architecture

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

A render management service is introduced as an intermediary between the render tree and the rendering engine. This service acts as a mediator that receives the component tree, assigns priorities, manages the render queue, and coordinates rendering events, thereby resolving the contradiction between maintaining simple processing order and achieving fast rendering of high-priority components

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If synchronous complex operations are performed for each component, then processing is thorough and complete, but the main thread is blocked and rendering of subsequent components is delayed

Engineering Contradiction:
Improvecompleteness of component processingVSAvoiddelay in rendering subsequent components
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The rendering process is segmented into discrete events and tasks that can be processed independently. Each UI component's rendering is broken down into manageable events that are queued and processed sequentially by the render management service, preventing main thread blocking while ensuring complete processing of each component

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system maintains continuity of useful action by implementing an event-driven rendering pipeline where the render management service continuously processes rendering events without blocking the main thread. High-priority components are processed first in the queue, ensuring continuous progress on important rendering tasks while maintaining thorough processing of all components

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS12307072B2System and method of rendering user interface components based on priority
Publication Date: 2025.05.20 MICROSOFT TECHNOLOGY LICENSING LLC
  • US12307072B2 patent drawing
  • US12307072B2 patent drawing
  • US12307072B2 patent drawing

AI summary

A system and method for rendering a plurality of user interface (UI) components of a UI screen based on a priority order is conducted by receiving a request to load the UI screen, each component of the UI screen being associated with a priority order, creating a data structure for rendering the UI components in accordance with the priority order, the data structure including a list of the UI components in an order in which they should be rendered, generating an event for rendering a first UI component in the data structure, receiving an indication that the first UI component has been rendered, responsive to receiving the indication that the first UI component has been rendered, moving to a next UI component in the list to render and continuing with the rendering of the UI components in accordance with the list until all UI components in the list have been rendered.