Tile-Based Window Compositing for Reduced Power

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Compositing window systems require significant resources to blend and display multiple windows on a display, leading to high power consumption and memory bandwidth usage, especially in portable devices.

Innovation Solution

A method where new versions of windows are compared to their previous versions to identify changed regions, allowing only those regions to be written to the frame buffer, reducing unnecessary write transactions and processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all window regions are written to the frame buffer in a compositing window system, then the display updates are complete and accurate, but power consumption and memory bandwidth usage increase significantly

Engineering Contradiction:
Improvedisplay update completenessVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent divides the window buffer into multiple tiles and processes them individually. By comparing each tile with the corresponding region in the frame buffer, the system identifies only the changed tiles that need to be written, rather than writing the entire window buffer. This segmentation enables selective updating of only the necessary portions, reducing memory bandwidth usage and power consumption while maintaining complete and accurate display updates.

Inventive Principle:
Principle #1Segmentation

2Reliability

If all window regions are written to the frame buffer, then display accuracy is maintained, but memory bandwidth usage increases

Engineering Contradiction:
Improvedisplay accuracyVSAvoidmemory bandwidth usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts and processes window buffer data in discrete tile units rather than as a complete window buffer. By comparing each tile with its corresponding frame buffer region and identifying only the changed tiles, the system extracts and writes only the necessary data portions to the frame buffer. This extraction approach maintains display accuracy by ensuring all changed regions are captured while significantly reducing the quantity of memory bandwidth required.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If window blending and compositing are performed for all windows, then the graphical user interface is rendered correctly, but processing resources and power consumption increase

Engineering Contradiction:
ImproveGUI rendering correctnessVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the window compositing process into tile-level operations. Instead of performing blending and compositing on entire windows, the system processes individual tiles independently. This segmentation allows the graphics processor to efficiently handle only the changed tiles, reducing processing overhead and improving productivity while maintaining correct GUI rendering through systematic comparison and selective writing of tile data.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9996363B2Methods of and apparatus for displaying windows on a display
Publication Date: 2018.06.12 ARM LTD
  • US9996363B2 patent drawing
  • US9996363B2 patent drawing
  • US9996363B2 patent drawing

AI summary

In a compositing window system, as a respective version of the window for an application is written into a window buffer, a corresponding set of per tile signatures indicative of the content of each respective tile in the window buffer is generated and stored. When an updated version of the window is stored into a window buffer, the set of signature values for the updated version is compared to the set of signature values for the previous version in the window buffer to determine which tiles' content has changed. The set of tiles found to have changed is used to generate a set of regions for a window compositor to write to a window in a display frame buffer to update the window in the display frame buffer to display the new version of the window.