Animated Stroke Rendering Latency Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing rendering techniques for animated user input strokes on touchscreen devices suffer from latency issues, as they wait for the latest touch data before starting any rendering, leading to delays in displaying user input strokes.
Innovation Solution
Implementing a multi-stage rendering process, where the first stage renders as much input stroke data as possible at the start of a frame without waiting for the latest touch data, and the second stage renders live input strokes when the latest touch data is received, within the same frame rendering period.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If the rendering system waits for the latest touch data before starting rendering, then the rendering accuracy and completeness are improved, but the latency increases
Solution Approach 1:
The rendering process is divided into two distinct stages: a first rendering stage that processes input stroke data without waiting for the latest touch data, and a second rendering stage that processes remaining live input strokes after the latest touch data is received. This segmentation allows the system to render partial results immediately while completing the rendering process later, thereby reducing latency while maintaining rendering accuracy.
Solution Approach 2:
The first rendering stage performs preliminary rendering of input stroke data before the latest touch data is fully processed. By initiating rendering actions in advance based on available data, the system reduces the waiting time and latency without sacrificing the completeness of the final rendered output, as the second stage completes any remaining rendering tasks.
2Device complexity
If a single-stage rendering process is used, then the device complexity is reduced, but the latency increases due to waiting for latest touch data
Solution Approach 1:
The rendering process is segmented into two stages with distinct functions: the first stage handles initial rendering tasks and the second stage handles completion tasks. This segmentation, while increasing process complexity, effectively manages latency by allowing parallel processing of rendering tasks at different stages, reducing the overall time loss.
Solution Approach 2:
The rendering system dynamically switches between two rendering stages based on the availability of touch data. The first rendering stage operates when touch data is available, and transitions to the second rendering stage when the latest touch data is received. This dynamic approach optimizes the balance between processing complexity and latency reduction.
3Loss of time
If multi-stage rendering is implemented, then the latency is reduced by rendering without waiting for latest touch data, but the device complexity increases
Solution Approach 1:
The rendering process is divided into two stages that operate at different times with different objectives. The first stage segments off initial rendering tasks that can be completed independently, while the second stage handles the remaining tasks. This segmentation reduces latency by enabling parallel processing but increases device complexity through the need to manage multiple rendering stages.
Solution Approach 2:
The first rendering stage performs preliminary rendering actions based on available touch data before the latest touch data is fully processed. This preliminary action reduces latency by initiating rendering early, while the increased device complexity is managed through the structured approach of completing remaining tasks in a second stage.
Data Source
AI summary
A device implementing a system for rendering animated user input strokes includes at least one processor configured to retrieve a user-specified mapping of physical characteristics of input strokes to ink parameters, and to receive input stroke data, the input stroke data including metadata corresponding to physical characteristics of the input stroke data. The at least one processor is configured to generate, based on the user-specified mapping, a set of ink parameters from the metadata corresponding to the physical characteristics of the input stroke data, and to render, using at least a portion of the generated set of ink parameters, a stroke based on the input stroke data.


