Virtual Surface Atlasing for Memory-Constrained Rendering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional display techniques are inefficient for devices with limited memory resources, leading to slow animation and lag in scenarios involving multiple visuals, as they require significant computing device resources to create and manage multiple buffers for each visual.

Innovation Solution

The implementation of atlasing and virtual surface techniques, which allow for the creation of a virtual surface with an area larger than needed for display, enabling efficient memory management and resource reduction by breaking visuals into tiles and rendering them ahead of time, using an allocator module to manage logical surfaces and an update manager to handle updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional display techniques create separate buffers for each visual, then each visual can be rendered independently, but memory consumption increases significantly

Engineering Contradiction:
Improveindependent visual renderingVSAvoidmemory consumption
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent merges multiple visual buffers into a single shared buffer (atlas), where multiple logical surfaces are packed together in memory. This combining approach reduces the total number of separate buffer allocations while maintaining the ability to render different visuals independently by specifying their respective regions within the shared buffer.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The shared buffer is segmented into multiple logical surfaces through virtual surface technology. Each logical surface represents a portion of the shared buffer that can be independently updated and rendered, allowing individual visual management while sharing the underlying physical memory resources.

Inventive Principle:
Principle #1Segmentation

2Ease of operation

If multiple separate buffers are allocated for each visual, then updates can be performed independently, but the number of surfaces created increases resource usage

Engineering Contradiction:
Improveindependent update capabilityVSAvoidnumber of surfaces
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The shared buffer serves multiple functions simultaneously - it acts as a single physical memory allocation while supporting multiple logical surfaces that can be independently updated. The system manages this multi-functionality through an atlas manager that tracks which regions of the shared buffer correspond to which logical surfaces.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent introduces an intermediary layer (the atlas management system) between the application and the physical buffer. This intermediary manages the mapping between multiple logical surfaces and the single shared buffer, handling updates efficiently by coordinating changes across the logical-to-physical surface mapping without requiring separate physical buffers.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If traditional techniques allocate sufficient memory for all visuals, then all visuals can be displayed simultaneously, but devices with limited memory resources cannot support this approach

Engineering Contradiction:
Improvesimultaneous visual displayVSAvoiddevice compatibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent transitions from a one-to-one mapping (one buffer per visual) to a many-to-one mapping (multiple logical surfaces to one shared buffer). This dimensional change in resource allocation allows the system to support multiple visuals simultaneously while using less total memory, making it compatible with devices having limited memory resources.

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

Data Source

PatentUS9324299B2Atlasing and virtual surfaces
Publication Date: 2016.04.26 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9324299B2 patent drawing
  • US9324299B2 patent drawing
  • US9324299B2 patent drawing

AI summary

Atlasing and virtual surface techniques are described. In one or more implementations, virtual surface functionality is exposed by an operating system for access by one or more applications of the computing device. A virtual surface is created in response to a request from the one or more applications to be used to render visuals for display by a display device. The virtual surface is allocated in memory of the computing device by the exposed virtual surface functionality to have an area that is larger than an area to be used to display the visuals from the one or more applications.