Multi-threaded Digital Design System Input Caching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems for processing user inputs on touch screen devices face challenges with multi-frame edits, leading to lags, lost inputs, and incorrect performance due to asynchronous processing between primary and background threads, resulting in poor user experience and increased application crashes.
Innovation Solution
A digital design system that synchronously processes user inputs by creating a communications channel between primary and background threads for caching multi-frame requests, allowing for subsequent processing when the background thread is available, ensuring that inputs are replayed in the correct order and maintaining responsiveness.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If asynchronous processing between primary and background threads is used, then processing capacity is improved, but responsiveness and continuity of multi-frame operations deteriorate
Solution Approach 1:
The patent applies preliminary action by having the primary thread capture and cache the complete sequence of user inputs for multi-frame operations before the background thread processes them. This ensures that all necessary input data is prepared and stored in advance, allowing the background thread to replay them in the correct order without losing responsiveness or continuity.
2Ease of operation
If user inputs are processed in the background thread, then the primary thread remains lightly loaded, but multi-frame operations experience lags and lost inputs
Solution Approach 1:
The patent introduces a communications channel as an intermediary between the primary and background threads. This channel caches the sequence of user inputs and enables the background thread to replay them in order, ensuring operation continuity while keeping the primary thread responsive and lightly loaded.
3Productivity
If asynchronous processing is used for multi-frame requests, then processing throughput is improved, but input order and correctness are compromised
Solution Approach 1:
The primary thread performs preliminary action by capturing and caching the complete sequence of user inputs in the correct order before the background thread processes them. This preliminary caching ensures that when the background thread replays the inputs, they maintain their original sequence and correctness, even though processing occurs asynchronously.
4Reliability
If the primary thread processes all user inputs synchronously, then responsiveness is maintained, but processing speed and capacity are reduced
Solution Approach 1:
The patent applies segmentation by dividing the processing workload between two threads: the primary thread handles user interface responsiveness and caches inputs, while the background thread handles the actual processing of multi-frame operations. This segmentation allows both responsiveness and processing speed to be optimized simultaneously.
Data Source
AI summary
Embodiments are disclosed for processing multi-frame tasks in a multi-threaded digital design system. In particular, in one or more embodiments, the disclosed systems and methods comprise receiving, by a first thread, a first set of inputs on a graphical user interface, determining that the first set of inputs represent a first multi-frame request, wherein a multi-frame request includes a series of inputs that produce a continuous response, generating a first multi-frame edit task, the first multi-frame edit task including a communications channel between the first thread and a second thread for caching the first set of inputs, enqueuing the first multi-frame edit task in a task queue of the second thread, processing, by the second thread, the first multi-frame edit task.


