Tile-Based Rendering Memory Footprint Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Tile-based rendering systems face a memory allocation dilemma where insufficient memory leads to hardware stalls and excessive memory allocation compromises system responsiveness, with no effective solution to balance memory usage between complex and simple scenes.

Innovation Solution

Implementing a visibility recording mechanism that includes an 'out-of-memory' token to manage memory allocation dynamically, allowing rendering to continue without complete visibility information, and tracking memory usage to allocate additional resources as needed, thereby reducing stalls and improving performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If larger memory buffers are allocated for complex scenes, then rendering quality and completeness are improved, but overall system responsiveness deteriorates due to increased memory footprint

Engineering Contradiction:
Improverendering completenessVSAvoidmemory footprint
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent implements dynamic memory allocation where the graphics driver monitors memory usage during rendering and adjusts buffer allocation in real-time. When memory pressure is detected, the system dynamically reduces buffer sizes or releases unused buffers, allowing the same memory resource to adapt between complex and simple scenes, thus resolving the contradiction between rendering completeness and memory footprint

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes memory allocation parameters dynamically based on scene complexity detection. The graphics driver analyzes the current rendering workload and adjusts buffer sizes, allocation strategies, and memory residency policies accordingly, transforming the static memory allocation into a variable parameter that optimizes both rendering quality and system responsiveness

Inventive Principle:
Principle #35Parameter changes

2Productivity

If smaller memory buffers are allocated to maintain system responsiveness, then memory footprint is reduced, but rendering stalls occur when geometry exceeds buffer capacity

Engineering Contradiction:
Improvesystem responsivenessVSAvoidrendering stalls
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements preliminary actions by pre-allocating geometry buffers with estimated sufficient size based on scene analysis, and by pre-establishing memory management policies and swap mechanisms. This preparation allows the renderer to handle unexpected geometry volumes without stalls, as fallback mechanisms are already in place before the rendering crisis occurs

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The graphics driver acts as an intermediary between the application and the rendering hardware, mediating memory allocation requests. It implements a layered memory management system with multiple buffer pools and swap mechanisms that intermediate between the fixed hardware buffers and variable scene requirements, preventing stalls by providing buffer replacement and expansion capabilities

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If uniform memory allocation is applied to all applications, then simplicity of memory management is maintained, but resource efficiency deteriorates by allocating excessive memory to simple applications

Engineering Contradiction:
Improvememory management simplicityVSAvoidmemory resource waste
Core Design Contradiction:
Ease of operationVSLoss of energy

Solution Approach 1:

The patent applies local quality by implementing differentiated memory allocation strategies for different applications and different scenes within applications. The graphics driver analyzes each rendering context individually and applies appropriate buffer sizes and allocation policies tailored to the specific requirements, rather than applying a uniform policy, thus eliminating waste while maintaining manageable complexity through automated analysis

Inventive Principle:
Principle #3Local quality

4Reliability

If memory allocation is increased to handle complex geometry, then rendering completeness is improved, but system responsiveness to other applications deteriorates

Engineering Contradiction:
Improverendering completenessVSAvoidsystem responsiveness
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system implements dynamic memory allocation where the graphics driver monitors memory usage during rendering and adjusts buffer allocation in real-time. When memory pressure is detected, the system dynamically reduces buffer sizes or releases unused buffers, allowing the same memory resource to adapt between complex and simple scenes, thus resolving the contradiction between rendering completeness and memory footprint

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9601092B2Dynamically managing memory footprint for tile based rendering
Publication Date: 2017.03.21 INTEL CORP
  • US9601092B2 patent drawing
  • US9601092B2 patent drawing
  • US9601092B2 patent drawing

AI summary

The introduction of an “out-of-memory” marker in the sorted tile geometry sequence for a tile may aid in handling out-of-memory frames. This marker allows hardware to continue rendering using the original data stream instead of the sorted data stream. This enables use of the original data stream allows the system to continue rendering without requiring any driver intervention. During the visibility generation/sorting phase, the number of memory pages required for storing the data for a rendering pass is continuously tracked. This tracking includes tracking the pages that are required even if the hardware had not run out-of-memory. This information can be monitored by a graphics driver and the driver can provide more memory pages for the system to work at full efficiency.