Virtual Document Object Model Thread Segmentation for Frame-Drop Prevention
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for rendering virtual document object models (VDOMs) often result in page stuck issues due to inefficiencies in comparing and updating VDOM nodes, leading to frame-drop problems and delayed reflection of changes in user interfaces.
Innovation Solution
A method involving multiple threads is employed, where a first thread generates and sends a VDOM node to a second thread for comparison with a target VDOM node, and upon determining differences, the first thread sends the updated VDOM node to a third rendering thread, allowing for real-time page rendering without the first thread being overwhelmed by comparison tasks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a single thread is used to generate and compare VDOM nodes, then the process is simple, but the page updating speed is slow and frame-drops occur
Solution Approach 1:
The patent divides the VDOM processing workflow into three separate threads: a first thread for generating VDOM nodes, a second thread for comparing VDOM nodes, and a third thread for rendering. This segmentation allows each thread to specialize in one task, improving overall processing speed and preventing frame-drops by parallelizing operations that were previously sequential.
Solution Approach 2:
The patent introduces a second thread as an intermediary between the first thread (VDOM generation) and the third thread (rendering). This intermediary thread handles the comparison task, allowing the first and third threads to operate independently without blocking each other, thus improving productivity while maintaining manageable complexity through clear interface definitions.
2Reliability
If the first thread performs comparison tasks, then the process is straightforward, but the first thread becomes overwhelmed and rendering is delayed
Solution Approach 1:
The patent segments the rendering pipeline by creating a dedicated second thread for VDOM comparison tasks. This separates the comparison function from the rendering function, ensuring that the first thread (responsible for VDOM generation and rendering coordination) is not overwhelmed by comparison operations, thereby maintaining rendering timeliness and reliability.
Solution Approach 2:
The second thread is designed to autonomously perform the VDOM comparison task without requiring intervention from the first or third threads. It receives VDOM nodes from the first thread, performs comparisons independently, and sends results to the third thread, allowing each thread to serve itself and reducing inter-thread dependency complexity.
3Measurement precision
If VDOM node comparison is performed frequently, then update accuracy is high, but system overhead increases
Solution Approach 1:
The patent implements continuous VDOM monitoring by having the second thread continuously compare incoming VDOM nodes with the current rendered state. This continuous action ensures high update detection accuracy while the parallel thread architecture distributes the processing load, preventing any single thread from becoming a bottleneck and reducing overall system overhead.
Data Source
Figure 1~2a
Figure 2b~3
Figure 4
AI summary
A method for monitoring a virtual document object model includes: generating (101), via a first thread, a first VODM node by a first thread and sending the first VODM node to a second thread; comparing (102), via the second thread, the first VODM node to a second VODM node to be updated so as to determine whether the first VODM node is the same as the second VODM node to be updated, and returning a comparison result to the first thread; and sending (103), via the first thread, the first VODM node to a third thread when the comparison result indicates that the first VODM node is different from the second VODM node to be updated. The third thread is configured to perform page rendering based on the first VODM node.