Compositing Window System Region Segmentation for Bandwidth Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Compositing window systems require significant resources in terms of memory bandwidth and power consumption, particularly due to the high time spent on User Interface (UI) generation and composition, with most of the time spent on generating and recomposing output surfaces that are largely unchanged.
Innovation Solution
The method involves generating an output surface by determining which regions of the input surfaces contribute to the output surface and only regenerating those regions that have changed, rather than recomposing the entire surface, thereby reducing unnecessary bandwidth and power usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the entire output surface is regenerated from input surfaces in each frame, then the output surface is always up-to-date, but memory bandwidth and power consumption increase significantly
Solution Approach 1:
The output surface is divided into multiple regions, and the system determines which specific regions need regeneration by checking if their contributing input surface regions have changed. Only the necessary regions are regenerated rather than the entire output surface, reducing power consumption while maintaining update accuracy.
2Reliability
If the entire output surface is regenerated from input surfaces in each frame, then the output surface is always up-to-date, but memory bandwidth consumption increases significantly
Solution Approach 1:
The output surface is segmented into multiple regions, and the system selectively regenerates only those regions whose contributing input surface regions have changed. This segmentation approach reduces the quantity of data transferred in memory bandwidth while ensuring update accuracy is maintained for all necessary regions.
3Use of energy by moving object
If unchanged regions are not regenerated, then power consumption and memory bandwidth are reduced, but the system complexity increases due to change detection requirements
Solution Approach 1:
The system performs preliminary actions by generating signatures for input surface regions in advance and storing them. Before regeneration, it compares current signatures with stored signatures to detect changes. This preliminary action simplifies the change detection mechanism while enabling selective regeneration to reduce power consumption.
Solution Approach 2:
The system uses signature comparison as a feedback mechanism to determine whether input surface regions have changed. This feedback informs the regeneration decision for corresponding output surface regions, creating a controlled process that reduces power consumption without requiring complex change detection.
4Use of energy by moving object
If selective region regeneration is implemented, then power consumption and memory bandwidth are reduced, but the time to determine which regions need regeneration increases
Solution Approach 1:
The system creates simplified copies of input surface regions in the form of signatures (hash values or checksums). Comparing these signature copies is much faster than comparing actual pixel data or determining region changes directly. This copying approach reduces the time loss while enabling selective regeneration to save power.
Data Source
AI summary
In a data processing system, an output surface, such as frame to be displayed, is generated as a plurality of respective regions with each respective region of the output surface being generated from a respective region or regions of one or more input surfaces. When a new version of the output surface is to be generated 80, for each region of the output surface it is determined which region or regions of the input surface or surfaces contribute to the region of the output surface 84 and then checked whether the contributing region or regions of the input surface or surfaces have changed since the previous version of the output surface region was generated 85. If there has been a change in the contributing region or regions of the input surface or surfaces since the previous version of the region in the output surface was generated 86, the region of the output surface is regenerated 87.


