UI Layout Integer Rounding to Mitigate Sub-Pixel Artifacts

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

User interface frameworks face rendering inconsistencies and artifacts due to non-integer size values of UI elements, leading to sub-pixel rendering issues like fuzzy lines and poor image quality, which current techniques attempt to address through pixel snapping at the rendering level but are sub-optimal in terms of resource usage.

Innovation Solution

A technique that determines and updates non-integer size values to integer values using specific rules, such as rounding, to arrange UI elements within a design layout, thereby eliminating the need for sub-pixel rendering and mitigating display artifacts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If non-integer size values are used for UI elements, then design flexibility and precision are improved, but rendering consistency and image quality deteriorate due to sub-pixel rendering issues

Engineering Contradiction:
Improvesize value precisionVSAvoidrendering consistency
Core Design Contradiction:
Measurement precisionVSManufacturing precision

Solution Approach 1:

The patent applies preliminary action by converting non-integer size values to integer values before the layout and rendering stages. The conversion process includes determining whether size values are non-integer, applying rounding rules to convert them to integers, and updating the layout with these converted values. This preliminary conversion prevents sub-pixel rendering issues from occurring in the first place, thereby maintaining both design flexibility and rendering consistency.

Inventive Principle:
Principle #10Preliminary action

2Manufacturing precision

If pixel snapping is applied at the rendering level to address sub-pixel rendering issues, then rendering consistency is improved, but resource consumption increases

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

Solution Approach 1:

Instead of applying pixel snapping at the rendering level (which would increase resource consumption), the patent performs the conversion from non-integer to integer values at the layout level before rendering. This preliminary action eliminates the need for resource-intensive pixel snapping operations during rendering, as the layout data is already in integer format suitable for direct pixel mapping.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If non-integer size values are used for UI elements, then design flexibility is improved, but display artifacts and fuzzy lines occur

Engineering Contradiction:
Improvedesign flexibilityVSAvoiddisplay artifacts
Core Design Contradiction:
Adaptability or versatilityVSObject-generated harmful factors

Solution Approach 1:

The patent applies preliminary conversion of non-integer size values to integer values in the layout definition stage. By determining non-integer values, applying appropriate rounding rules, and updating the layout with converted integer values before rendering, the system maintains design flexibility during the design phase while eliminating display artifacts like fuzzy lines and poor image quality in the final rendered output.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8984424B2Layout of user interface elements
Publication Date: 2015.03.17 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8984424B2 patent drawing
  • US8984424B2 patent drawing
  • US8984424B2 patent drawing

AI summary

User interface frameworks may provide an environment for developers to design and arrange user interface elements within a design layout to create a user interface. Many times UI elements comprise non-integer size values (e.g., height, width, position, etc.) due to text, user specified data, and/or centering, for example. Rendering UI elements at non-integer size values may create display artifacts because of sub-pixel rendering. Accordingly, as provided herein, a set of rules may be applied during design layout to non-integer size values to create integer size values (e.g., non-integer size values may be rounded to the nearest integer). Using integer size values in arranging UI elements within a design layout, allows undesirable display artifacts to be mitigated during rendering.