Coalescing Events Framework for UI Thread Optimization
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
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
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.
Data Source
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.


