Incremental Style Sheet Parsing for UI Update Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing style sheet parsing methods require the entire style sheet to be re-parsed every time a change is made, leading to inefficient updates and unnecessary processing, as all data structures and display elements are updated, even if only a single rule or element is affected.

Innovation Solution

Implementing an incremental parsing system that only parses the affected portion of the style sheet upon change, updating only the necessary data structures and minimizing the number of elements that need to be updated, thereby reducing computational load and memory usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the entire style sheet is re-parsed every time a change is made, then all data structures are updated to ensure completeness, but the processing time and computational resources are wasted on unchanged portions

Engineering Contradiction:
Improvecompleteness of data structure updatesVSAvoidprocessing time for style sheet updates
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The style sheet parsing process is segmented into two parts: unchanged portions that are reused from previous parsing and changed portions that are re-parsed. The system identifies the specific location of changes and only parses the affected segments, while maintaining and reusing the data structures for unchanged segments, thus resolving the contradiction between completeness and processing time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary parsing of the entire style sheet once, storing the resulting data structures. When changes occur, it uses the pre-parsed data as a foundation and only updates the affected portions, rather than starting from scratch each time, thereby reducing redundant processing while maintaining data integrity.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the entire style sheet is re-parsed every time a change is made, then all data structures are updated, but the computational load and memory usage increase unnecessarily

Engineering Contradiction:
Improveaccuracy of style sheet representationVSAvoidcomputational load for parsing operations
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The parsing operation is segmented to process only the changed portion of the style sheet while reusing the parsed representation of unchanged portions. This segmentation reduces the computational load and memory requirements by avoiding redundant processing of unchanged segments, while still maintaining accurate style sheet representation through the combination of reused and re-parsed data.

Inventive Principle:
Principle #1Segmentation

3Stability of the object's composition

If all display elements are updated with each style sheet change, then the user interface remains consistent, but the update overhead and rendering time increase

Engineering Contradiction:
Improveconsistency of user interface displayVSAvoidefficiency of update operations
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The update propagation is segmented to affect only those display elements that correspond to changed style rules. The system identifies which data structures changed during incremental parsing and updates only the associated display elements, rather than forcing a full refresh of all display elements, thus maintaining interface consistency while reducing update overhead.

Inventive Principle:
Principle #1Segmentation

4Reliability

If the entire style sheet is parsed each time, then no portion of the style sheet is left unprocessed, but redundant processing of unchanged portions wastes resources

Engineering Contradiction:
Improvecompleteness of processingVSAvoidwasted computational resources
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

Instead of performing excessive action by parsing the entire style sheet, the system applies partial action by parsing only the necessary changed portion. It uses change detection mechanisms to identify exactly what needs to be re-parsed, performing just enough processing to maintain accuracy without the waste of redundant operations on unchanged content.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS7596747B2Incrementally parsing style sheets
Publication Date: 2009.09.29 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7596747B2 patent drawing
  • US7596747B2 patent drawing
  • US7596747B2 patent drawing

AI summary

A style sheet is incrementally parsed when a change is made. Instead of parsing the entire style sheet text each time a change is made, only a portion of the style sheet is parsed in response to the incremental change. As a result of the incremental parsing the number of data structures needed to be updated upon the incremental change to the style sheet text is minimized. Since only a portion of the data structures are updated, it is possible for other components in software to have smart behavior based on the changes. For example, instead of all the display elements updating their display based on a change to the style sheet, only those dialogs or other parts of the user interface that were showing information about the changed rules need to update their display.