Animated Stroke Rendering Latency Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improverendering accuracyVSAvoidlatency
Core Design Contradiction:
Measurement precisionVSLoss of time

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improverendering process complexityVSAvoidlatency
Core Design Contradiction:
Device complexityVSLoss of time

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #15Dynamics

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

Engineering Contradiction:
ImprovelatencyVSAvoidrendering process complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10650565B2Rendering animated user input strokes
Publication Date: 2020.05.12 APPLE INC
  • US10650565B2 patent drawing
  • US10650565B2 patent drawing
  • US10650565B2 patent drawing

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.