Partially Resident Textures for Video Memory Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing texture mapping methods face challenges in efficiently managing and storing textures and associated mipmaps due to video memory constraints, leading to reduced quality and inefficient use of memory resources, as all textures and mipmaps must be resident in video memory before rendering, even if only a portion is needed.

Innovation Solution

The method involves partitioning textures and mipmaps into memory tiles associated with a virtual memory system and mapping a subset of these tiles to physical memory, allowing only a portion to be resident in video memory, with additional tiles loaded as needed during rendering, optimizing memory usage and improving performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all textures and mipmaps are stored in video memory, then rendering quality is maintained, but video memory usage increases and may exceed available memory capacity

Engineering Contradiction:
Improverendering qualityVSAvoidvideo memory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent divides textures and mipmaps into discrete memory tiles that can be independently managed. Each texture is partitioned into multiple tiles, allowing selective loading of only the tiles needed for the current rendering operation, rather than loading entire textures and all mipmap levels into video memory.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a virtual memory addressing system that adds an abstraction layer between the rendering engine and physical video memory. This virtual memory space allows textures to be addressed as if fully resident, while actually loading only required portions from system memory, effectively adding a memory management dimension.

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

2Quantity of substance

If texture size and detail are reduced to fit video memory constraints, then video memory usage decreases, but rendering quality is compromised

Engineering Contradiction:
Improvevideo memory usageVSAvoidrendering quality
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

By segmenting textures into tiles, the system can load high-resolution texture tiles into video memory as needed, maintaining rendering quality for visible portions while keeping overall memory usage manageable through selective loading rather than compressing or downsampling entire textures.

Inventive Principle:
Principle #1Segmentation

3Productivity

If all textures and mipmaps are pre-loaded into video memory, then rendering performance is improved, but memory efficiency decreases and unused textures consume valuable memory resources

Engineering Contradiction:
Improverendering performanceVSAvoidmemory efficiency
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system performs preliminary organization of textures into memory tiles and establishes virtual memory mappings before rendering. This allows the rendering engine to access textures with minimal latency while the memory management system pre-loads only the essential base tiles, avoiding the need to pre-load all possible texture variations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The memory tile system enables self-service loading where the rendering process can trigger loading of additional texture tiles on-demand without stalling the entire rendering pipeline, allowing the system to serve itself with additional resources as needed rather than requiring all resources to be pre-loaded.

Inventive Principle:
Principle #25Self-service

4Quantity of substance

If only a portion of textures are kept in video memory, then memory usage is optimized, but access time increases when additional textures are needed

Engineering Contradiction:
Improvevideo memory usageVSAvoidtexture access time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

Segmenting textures into tiles allows the system to load small, manageable units into video memory quickly. When a texture is needed, only the specific tile requiring access is loaded, minimizing transfer time compared to loading entire textures, while still providing fast access to the required portion.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8907969B2Partially resident textures
Publication Date: 2014.12.09 ADVANCED MICRO DEVICES INC
  • US8907969B2 patent drawing
  • US8907969B2 patent drawing
  • US8907969B2 patent drawing

AI summary

A method, computer program product, and system are provided for processing a graphics operation. For instance, the method can include partitioning a texture and associated mipmaps into memory tiles, where the memory tiles are associated with a virtual memory system. The method can also include mapping a first subset of the memory tiles to respective address spaces in a physical memory system. Further, the method can include accessing the physical memory system during a rendering process of a graphics scene associated with the first subset of memory tiles. In the instance when the graphics scene requires one or more memory tiles outside of the first subset of memory tiles, the method can also include mapping a second subset of memory tiles to respective address spaces in the physical memory system.