Web Browser Input Event Processing via Dual Thread Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Web browsers often appear unresponsive to users when processing user input events due to interleaving these events with long-running tasks, leading to delays in rendering the user interface.
Innovation Solution
Implementing a system where user events are processed in both a main thread and a secondary thread, with the secondary thread prioritized to provide early user interface responses by handling default actions such as scrolling or zooming, while the main thread processes event handlers and completes rendering independently.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If user events are processed in the main thread along with other long-running tasks, then the browser can handle multiple functions, but the user interface appears unresponsive and rendering is delayed
Solution Approach 1:
The patent divides user event processing into two separate threads: the main thread handles complex event handlers and scripting, while a secondary thread handles default user event actions. This segmentation allows the secondary thread to provide rapid UI responses without being blocked by long-running tasks in the main thread, thereby resolving the contradiction between maintaining full browser functionality and ensuring responsive user interface rendering.
2Loss of time
If the secondary thread processes user events with default actions, then early UI rendering is achieved, but thread complexity increases
Solution Approach 1:
The patent extracts the default user event handling logic from the main thread and places it in a secondary thread. This extraction allows the secondary thread to independently process common user events (such as scrolling and zooming) without interfering with the main thread's complex task execution. The separation reduces rendering delays while the modular design keeps thread management complexity manageable by assigning specific, well-defined responsibilities to each thread.
Data Source
AI summary
A method and computing device are provided for processing user events received via a user interface, such as a touchscreen, in multiple threads. When a user event is received for a target element in a webpage, the user event is dispatched to both a main browser thread and a secondary thread. The secondary thread processes user events in accordance with established default actions defined within the browser, while the main thread processes the user events in accordance with any event handlers defined for that target element. The main thread processing may be delayed by other interleaved task, and the secondary thread may be given priority over the main thread. When the secondary thread completes processing, an updated webpage is displayed. When the main thread subsequently completes processing, its updated rendering of the webpage is displayed. The secondary thread thus provides an early user interface response to the user event.


