Coalescing Events Framework for UI Thread Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Slow processing speeds in UI threads lead to jitters and performance issues when handling multiple user events, causing a poor user experience and potential application crashes.

Innovation Solution

Implementing an asynchronous UI framework that coalesces certain events, allowing for reduced processing requirements by handling marked events together, thereby enhancing efficiency and responsiveness.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the UI thread processes each user event individually, then the application responds to user actions, but the processing speed becomes slow and causes jitters

Engineering Contradiction:
Improveevent processing speedVSAvoiduser experience quality
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent merges multiple user events into a single coalesced event when events occur within a threshold time period. Instead of processing each event separately, the system combines them and processes them together, reducing the total number of processing operations and improving event processing speed while maintaining user experience quality.

Inventive Principle:
Principle #5Merging (Combining)

2Productivity

If the browser renders frames at 60 times per second, then the animation and transitions are smooth, but the processing load increases and causes jank on slower devices

Engineering Contradiction:
Improveframe rendering rateVSAvoidprocessing energy consumption
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent implements periodic coalescing of events by grouping events that occur within a threshold time period (e.g., 16ms corresponding to 60fps). This periodic grouping reduces the frequency of individual event processing operations while maintaining the visual smoothness of animations and transitions, thereby reducing energy consumption on slower devices.

Inventive Principle:
Principle #19Periodic action

3Measurement precision

If multiple events are handled in quick succession, then user interactions are captured accurately, but the UI thread becomes blocked and causes application freezing

Engineering Contradiction:
Improveuser interaction accuracyVSAvoidUI responsiveness time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent performs preliminary coalescing of events before they are processed by the UI thread. By pre-grouping events that occur within a threshold time period, the system prepares consolidated event batches in advance, allowing the UI thread to process fewer, larger event groups rather than many small events sequentially. This reduces UI thread blocking and improves responsiveness while maintaining interaction accuracy.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10671450B2Coalescing events framework
Publication Date: 2020.06.02 META PLATFORMS INC
  • US10671450B2 patent drawing
  • US10671450B2 patent drawing
  • US10671450B2 patent drawing

AI summary

Coalescing of events associated with an action is disclosed. In particular, the systems and methods can coalesce one or more events associated with an action to optimize processing and reduce jitters. The system first determines if the action can be coalesced. The system then determines a list of events associated with the action that can be coalesced. From that list, the system determines the optimum set(s) of events that are coalesced to minimize jitters. The optimum set(s) of events are then associated with the action, and executed. As a result, the processing of events triggered by an action is optimized and jitters in the resulting user-experience of the user are minimized.