Glyph Caching and Surface Atlasing for Graphics Memory Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computer systems face inefficiencies in displaying large numbers of graphical images, particularly in delivering and rendering glyphs and graphical surfaces, due to the need for frequent downloads, decoding, and rendering, which consumes significant computing resources and slows down user experience.

Innovation Solution

Implementing glyph caching and surface atlasing techniques that dynamically manage memory spaces to store and retrieve glyphs and graphical surfaces efficiently, using GPU memory for fast access and minimizing repeated transformations and memory copies, along with image pre-fetching to optimize display operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If glyphs and graphical surfaces are frequently downloaded and rendered, then display freshness is maintained, but computational resources are consumed and display speed decreases

Engineering Contradiction:
Improvedisplay speedVSAvoidcomputational resource consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The system pre-loads glyphs and graphical surfaces into cache memory before they are needed for display. When a glyph or surface is requested, it is already available in the cache, eliminating the need for frequent downloads and rendering operations, thus reducing computational resource consumption while maintaining display speed

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates copies of glyphs and graphical surfaces in cache memory instead of repeatedly downloading and rendering the original sources. These cached copies are then used for display, reducing the computational burden of repeated transformations and memory copies while maintaining display freshness

Inventive Principle:
Principle #26Copying

2Speed

If glyphs are stored in cache memory, then retrieval speed increases, but memory space is consumed

Engineering Contradiction:
Improveglyph retrieval speedVSAvoidmemory space consumption
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The system implements different cache management strategies for different glyph types and usage patterns. Frequently used glyphs are prioritized for caching, while less frequently used glyphs are excluded, optimizing the balance between retrieval speed and memory space utilization

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The cache memory management is dynamic, automatically adjusting which glyphs are cached and evicted based on real-time usage patterns. The system monitors glyph access frequencies and adapts the cache contents accordingly, ensuring optimal performance without excessive memory consumption

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If repeated transformations and memory copies are performed, then display flexibility is maintained, but computational overhead increases

Engineering Contradiction:
Improvedisplay flexibilityVSAvoidcomputational overhead
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system performs transformations and optimizations in advance during the caching process, preparing glyphs and surfaces in their final display-ready format. This preliminary processing eliminates the need for repeated transformations during display, reducing computational overhead while maintaining display flexibility

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of repeatedly transforming and copying glyphs during display operations, the system uses cached copies that are pre-transformed and optimized. This approach maintains display flexibility while significantly reducing computational overhead from repeated transformations and memory copies

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11068404B2Efficient computer-implemented techniques for managing graphics memory
Publication Date: 2021.07.20 NETFLIX INC
  • US11068404B2 patent drawing
  • US11068404B2 patent drawing
  • US11068404B2 patent drawing

AI summary

In an embodiment, a data processing method provides an improvement in efficient use of computer memory and comprises using a computer, creating in computer memory a glyph memory area that is configured to store a plurality of cached glyphs; using the computer, receiving a request from an application to use a particular glyph; in response to the request, determining whether the particular glyph is in the glyph memory area; in response to determining that the particular glyph is not in the glyph memory area: attempting to store a bitmap of the particular glyph to a next location in the glyph memory area; in response to determining that the next location is not available a first time, reclaiming space in the glyph memory area in an amount sufficient to store the bitmap; attempting a second time to store the bitmap in the next location in the glyph memory area; in response to determining that the next location is not available a second time, clearing the glyph memory area of all previously stored glyphs and storing the bitmap in the glyph memory area.