Procedural Image Engine Cache Management for Memory Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics applications face challenges in efficiently handling and manipulating large amounts of data for textures, leading to high memory consumption, slow data transfer, and repetitive content, with procedural textures being difficult to create and manipulate effectively.

Innovation Solution

An image generation engine that uses sequence graphs to optimize the generation and rendering of images by reusing intermediate results and recalculating unsaved ones, allowing for real-time image generation and efficient storage of descriptions rather than final images, enabling the generation of infinite variations from basic textures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If procedural textures are used to avoid repetitions and reduce storage, then storage efficiency and adaptability improve, but ease of creation and manipulation deteriorates

Engineering Contradiction:
Improvestorage efficiencyVSAvoidease of creation
Core Design Contradiction:
Quantity of substanceVSEase of manufacture

Solution Approach 1:

The patent introduces an intermediary tool that sits between the procedural generation system and the graphic designer. This tool translates designer intent into procedural parameters automatically, serving as a mediator that bridges the gap between manual creation ease and procedural efficiency. The intermediary handles the complexity of procedural parameter adjustment while presenting a simple interface to designers.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system enables self-service by allowing procedural textures to automatically adapt and generate variations based on predefined parameters and algorithms. The procedural system serves itself by automatically adjusting parameters, generating variations, and optimizing storage without requiring manual intervention for each texture variation, thus improving both storage efficiency and ease of use.

Inventive Principle:
Principle #25Self-service

2Ease of operation

If textures are stored as bitmaps with fixed resolution, then ease of storage and retrieval improves, but adaptability to different contexts deteriorates

Engineering Contradiction:
Improveease of storageVSAvoidadaptability
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent applies dynamics by transitioning from static bitmap storage to dynamic procedural generation. Textures are no longer fixed-resolution bitmaps but dynamic procedures that can adapt their resolution and appearance based on runtime requirements. The system dynamically adjusts texture parameters, resolution, and generation based on the specific context and performance needs.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system utilizes parameter changes to enable adaptability. Instead of storing fixed-resolution bitmaps, the patent stores and manipulates procedural parameters that can be dynamically adjusted. By changing parameters such as resolution, scale, and generation algorithms, the same procedural texture can adapt to different contexts while maintaining ease of storage through compact parameter representation.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If intermediate results are stored in memory for reuse, then calculation speed improves, but memory consumption increases

Engineering Contradiction:
Improvecalculation speedVSAvoidmemory consumption
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent applies local quality by selectively caching intermediate results based on their specific characteristics and reuse potential. Not all intermediate results are stored equally - the system identifies and caches only those results that are likely to be reused, storing them with appropriate quality levels. This selective approach optimizes both calculation speed and memory consumption by focusing resources on the most beneficial caches.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system implements discarding and recovering by managing the cache of intermediate results. When memory consumption becomes excessive, less frequently used intermediate results are discarded from memory. When needed again, these results are recalculated (recovered) rather than maintaining them permanently in memory. This cyclic approach balances calculation speed improvements against memory consumption constraints.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentEP2599053B1Device and method for generating procedural images with a cache
Publication Date: 2017.06.14 ALLEGORITHMIC
  • EP2599053B1 patent drawingFigure 1~2
  • EP2599053B1 patent drawingFigure 3~4
  • EP2599053B1 patent drawingFigure 5~6

AI summary

The invention relates to an image-generating engine capable of generating images for a host application from procedural data, including: a module for scanning a sequential procedural graph for image generation; a module for calculating intermediate results; a module for calculating the time for rendering intermediate results; a module for calculating the weight of the intermediate results; memory modules for storing the graph G and the corresponding lists L0, L1, L2, L3 and M; a comparison and deletion module, suitable for comparing the available memory space for storing new intermediate result data or previously existing data with a given minimum threshold, and for deleting intermediate result data if said memory space available for storing new intermediate result data is lower than said threshold.