Ranged Surface Rendering for UI Framework Caching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing graphical user interface systems face inefficiencies in rendering application surfaces that extend beyond the visible display area, requiring significant processing and memory to maintain and render each element independently, which can be resource-intensive and slow for large or complex applications.

Innovation Solution

An interaction model between an application, a user interface framework, and a graphics module where the application requests a ranged surface from the framework, populates it with the graphics module, and composes it with additional framework information, including cached data to optimize rendering and reduce redundant calculations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If each element on the display is independently addressable and persisted, then each element can be individually manipulated and tracked, but processing and memory requirements increase significantly

Engineering Contradiction:
ImproveIndependent element addressabilityVSAvoidMemory and processing resources
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The display surface is divided into a grid of addressable elements (pixels or graphical elements), where each element can be independently manipulated. This segmentation allows for precise control and individual tracking of display elements while maintaining efficient memory usage through the structured grid organization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of persisting complex graphical elements in memory, the system uses a simplified element address system that references display locations. When rendering is needed, elements are recreated or copied from the element address data rather than storing full element representations, reducing memory requirements while maintaining operational capability.

Inventive Principle:
Principle #26Copying

2Productivity

If only visible content is rendered for efficiency, then rendering performance improves, but navigation control complexity increases to manage off-screen content

Engineering Contradiction:
ImproveRendering efficiencyVSAvoidNavigation control system
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system pre-calculates and manages the visible region boundaries and off-screen content locations before rendering occurs. By determining in advance which elements are visible and which require navigation controls, the system optimizes rendering efficiency while systematically managing navigation complexity through pre-planned element addressing and region management.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9263002B2Application and user interface framework interaction
Publication Date: 2016.02.16 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9263002B2 patent drawing
  • US9263002B2 patent drawing
  • US9263002B2 patent drawing

AI summary

Interaction between an application, a user interface framework, and a graphics module to render a portion of an application surface. The application requests a surface corresponding to a particular range of the application surface from the user interface framework. In response, the user interface framework provides the requested ranged surface to the application. The application instructs the graphics module to populate the ranged surface by drawing into the ranged surface. The application then instructs the user interface framework to compose the ranged surface using the drawn ranged surface and other information available to the user interface framework. The user interface framework composing a composed surface using the drawn surface provided by the application, and additional information available to the user interface framework. The user interface framework may cache information from previously composed surface to allow for faster re-rendering should those portions later come into view on the display.