Variable Per-Tile MSAA Rendering for GPU Workload Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics processing units (GPUs) face challenges in rendering high-quality images in real-time, especially in virtual reality (VR) and mobile devices, due to limited compute power and bandwidth, which is exacerbated by the need for high resolution and high refresh rates, leading to reduced battery life and performance.

Innovation Solution

The solution involves a method for variable rendering resolution by dividing the image into tiles and calculating a sampling density for each tile based on its prominence, using a scale-down factor that varies with distance to the foveal area and lens distortion, allowing for reduced shading workload and improved performance without compromising user experience.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If high resolution rendering is applied to the entire image, then rendering quality is improved, but GPU workload and power consumption increase significantly

Engineering Contradiction:
Improverendering qualityVSAvoidpower consumption
Core Design Contradiction:
Manufacturing precisionVSUse of energy by moving object

Solution Approach 1:

The patent applies different rendering resolutions to different regions of the image based on their visual importance. The center region (foveal area) is rendered at high resolution while peripheral regions are rendered at lower resolution, matching human visual perception characteristics and reducing overall power consumption while maintaining perceived quality

Inventive Principle:
Principle #3Local quality

2Manufacturing precision

If high resolution rendering is applied to the entire image, then rendering quality is improved, but rendering speed decreases due to increased GPU workload

Engineering Contradiction:
Improverendering qualityVSAvoidrendering speed
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The patent divides the image into multiple regions with different rendering resolutions. By rendering only the central region at high resolution and peripheral regions at lower resolution, the total number of pixels requiring high-quality processing is reduced, thereby improving rendering speed while maintaining quality where it matters most

Inventive Principle:
Principle #3Local quality

3Use of energy by moving object

If variable rendering resolution is implemented, then power efficiency is improved, but device complexity increases

Engineering Contradiction:
Improvepower efficiencyVSAvoidrendering system complexity
Core Design Contradiction:
Use of energy by moving objectVSDevice complexity

Solution Approach 1:

The patent segments the image into multiple tiles or regions, each with its own rendering resolution settings. This segmentation allows independent control of rendering quality in different areas, enabling power efficiency improvements through a manageable level of system complexity rather than requiring complete per-pixel variable resolution control

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP3598393B1Rendering using a per-tile MSAA level
Publication Date: 2023.11.08 HUAWEI TECH CO LTD
  • EP3598393B1 patent drawingFigure 1(a)~2
  • EP3598393B1 patent drawingFigure 3(a)~4
  • EP3598393B1 patent drawingFigure 5

AI summary

A device for rendering an image in a graphics processing system, the image being divided into a plurality of tiles, each tile corresponding to one or more display pixels, the device being configured to: calculate, for a tile, in dependence on the prominence of the tile, a sampling density for the respective tile; determine, for each of a set of rendering pixels overlapping the tile, a set of one or more shading samples, each shading sample representing a shade at a respective location on the tile and the locations collectively having the calculated sampling density in the rendering pixel; determine in dependence on the shading sample(s) of a rendering pixel one or more pixel shade values for display pixels overlapping that rendered pixel.