Virtual Surface Allocation for Resource-Constrained Rendering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional display techniques developed for resource-rich devices are not well-suited for resource-constrained devices, leading to inefficiencies in rendering visuals and managing memory allocation for large webpages or immersive applications.

Innovation Solution

The implementation of virtual surface techniques, including initialization and batching of updates, use of look aside lists, gutters, blending and BLT operations, surface optimization methods like push down and clumping, mesh usage, and occlusion management, to efficiently allocate and manage rendering surfaces.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional display techniques are used on resource-constrained devices, then device compatibility is reduced, but memory allocation efficiency deteriorates

Engineering Contradiction:
Improvedevice compatibilityVSAvoidmemory allocation efficiency
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent segments the rendering surface into multiple tiles that can be independently allocated and managed in memory. Each tile represents a discrete portion of the overall rendering surface, allowing the system to allocate memory in smaller, more efficient units rather than requiring contiguous large blocks. This segmentation enables resource-constrained devices to handle large rendering surfaces by dividing them into manageable pieces that fit within available memory constraints.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a virtual surface dimension that abstracts the physical memory constraints. By creating a virtual surface coordinate system that can be larger than the physical memory allows, the system maps virtual surface tiles to physical memory locations dynamically. This dimensional abstraction allows the rendering surface to exceed physical memory boundaries while maintaining efficient allocation through the tile-based mapping mechanism.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Manufacturing precision

If large surfaces are allocated for rendering, then visual quality is improved, but memory waste increases

Engineering Contradiction:
Improvevisual qualityVSAvoidmemory waste
Core Design Contradiction:
Manufacturing precisionVSLoss of substance

Solution Approach 1:

The patent applies local quality by allowing different regions of the rendering surface to have different allocation states. Active tiles that are currently being rendered or displayed receive full memory allocation, while inactive or occluded tiles can be allocated from a pool of reusable memory or not allocated at all. This localized memory management ensures that high visual quality is maintained in active regions while minimizing memory waste in inactive regions.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements a tile recycling mechanism where previously allocated tiles that are no longer needed can be returned to a free pool for reuse. When the rendering viewport moves or changes, tiles that fall outside the visible or active region are marked for release, and their memory is recovered and added back to the available pool. This discarding and recovering process continuously reduces memory waste while maintaining visual quality in the current viewport.

Inventive Principle:
Principle #34Discarding and recovering

3Adaptability or versatility

If multiple surfaces are allocated for updates, then rendering flexibility is improved, but CPU/GPU usage increases

Engineering Contradiction:
Improverendering flexibilityVSAvoidCPU/GPU usage
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The patent merges multiple surface update operations into a unified tile-based rendering pipeline. Instead of processing each surface independently, the system consolidates update requests into tile-level operations, where multiple surfaces can share common tile allocations. This merging reduces the overhead of managing multiple separate surface structures and allows the GPU to process updates more efficiently through batched tile rendering operations.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent applies partial action by updating only the necessary portion of tiles rather than entire surfaces. The system identifies which specific tiles require updates based on the rendering requirements and processes only those tiles, leaving other tiles unchanged. This partial update approach maintains rendering flexibility for complex scenes while significantly reducing CPU/GPU usage compared to updating complete surfaces.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentEP2859447B1Virtual surface allocation
Publication Date: 2020.07.08 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP2859447B1 patent drawingFigure 1
  • EP2859447B1 patent drawingFigure 2
  • EP2859447B1 patent drawingFigure 3

AI summary

Virtual surface techniques are described. These techniques include support of initialization and batching of updates, use of updates and lookaside lists, the use of gutters, the use of blending and BLT operations, surface optimization techniques such as push down as well as enumeration and clumping, mesh usage, and occlusion management techniques.