Tile-Based Rendering Memory Allocation Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In tile-based rendering, estimating memory requirements for geometry processing is challenging, leading to inefficiencies in memory usage due to the significant size of results produced, which affects the size of tiles and necessitates the use of both internal and external memory.

Innovation Solution

A method and apparatus for determining the size of tiles based on available memory and the number of buffers required for rendering, where the tile size is inversely proportional to the number of buffers, optimizing memory allocation by only assigning memory to necessary buffers and adjusting tile size accordingly.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If a small tile size is used in tile-based rendering, then the rendering precision and quality are improved, but the memory space required for geometry processing increases significantly

Engineering Contradiction:
Improverendering precisionVSAvoidmemory space required
Core Design Contradiction:
Manufacturing precisionVSQuantity of substance

Solution Approach 1:

The patent implements dynamic tile size adjustment based on available memory capacity. The rendering apparatus automatically determines optimal tile dimensions by evaluating current memory availability, allowing the system to adapt between small tiles (when memory is abundant) for higher precision and large tiles (when memory is constrained) to reduce memory usage. This dynamic parameter adjustment resolves the contradiction by making tile size flexible rather than fixed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of tile size based on memory conditions. By calculating available memory and determining appropriate tile dimensions dynamically, the system optimizes the balance between rendering precision and memory consumption. The patent explicitly states that tile size is determined based on available memory capacity, transforming a static parameter into a dynamic one that responds to system conditions.

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If the tile size is increased to reduce memory usage, then the memory overhead is reduced, but the rendering precision and quality deteriorate

Engineering Contradiction:
Improvememory overheadVSAvoidrendering precision
Core Design Contradiction:
Quantity of substanceVSManufacturing precision

Solution Approach 1:

The rendering system dynamically adjusts tile size based on available memory capacity rather than using a fixed size. When memory is abundant, smaller tiles are used for higher precision; when memory is constrained, larger tiles are used to reduce overhead. This dynamic adaptation allows the system to optimize the trade-off between memory usage and rendering quality based on real-time conditions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the tile size parameter in response to memory availability conditions. By calculating the available memory capacity and determining optimal tile dimensions accordingly, the system transforms tile size from a static parameter to a dynamic one that adapts to system resources, thereby resolving the contradiction between memory overhead and rendering precision.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If multiple buffers are allocated to ensure rendering quality, then the rendering function is improved, but the memory consumption increases

Engineering Contradiction:
Improverendering functionVSAvoidmemory consumption
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent implements dynamic determination of buffer quantity and tile size based on available memory capacity. The rendering apparatus evaluates current memory availability and automatically adjusts the number of buffers allocated and their corresponding tile dimensions. This dynamic resource management allows the system to maintain adequate rendering functionality while optimizing memory consumption based on actual system conditions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of buffer quantity based on memory availability. By calculating available memory and determining the optimal number of buffers and their sizes, the system optimizes the balance between rendering reliability and memory consumption. The patent explicitly states that buffer quantity and tile size are determined based on available memory capacity, transforming static allocation into dynamic optimization.

Inventive Principle:
Principle #35Parameter changes

4Quantity of substance

If external memory is used to compensate for insufficient internal memory, then the memory capacity is increased, but the access speed and rendering efficiency decrease

Engineering Contradiction:
Improvememory capacityVSAvoidaccess speed
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The rendering apparatus dynamically determines tile size based on available memory capacity to optimize the use of internal memory. By calculating appropriate tile dimensions that fit within internal memory constraints, the system maximizes the use of fast internal memory access while minimizing reliance on slower external memory, thereby maintaining rendering efficiency even when total memory capacity is limited.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9569813B2Method and apparatus for tile-based rendering
Publication Date: 2017.02.14 SAMSUNG ELECTRONICS CO LTD
  • US9569813B2 patent drawing
  • US9569813B2 patent drawing
  • US9569813B2 patent drawing

AI summary

A method for tile-based rendering may include verifying a size of a memory available in an apparatus for rendering, and determining a number of buffers required for performing a rendering based on graphics data input, and may further include determining a size of a tile to be used for performing the rendering based on the determined number of buffers and the size of the memory available.