Wet Ink Texture Engine for Digital Inking Lag Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing digital inking technologies experience significant lag when processing and rendering ink input on screens, leading to a poor user experience, especially in single-threaded applications, due to the simultaneous processing of ink input, rendering, and saving to the application canvas, which results in delayed and choppy ink display.

Innovation Solution

The wet ink texture engine employs a dedicated worker thread for ink input and rendering, using a wet ink texture with separate layers for caching and transferring ink, allowing for continuous display of original ink strokes with minimal lag by separating the rendering and transfer processes, and converting to final ink when the input stops.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the application processes ink input, renders to screen, and saves to application canvas simultaneously, then all three tasks are handled, but each task slows down and the user interface pipeline backs up

Engineering Contradiction:
Improveprocessing speedVSAvoidlag
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent divides the ink processing pipeline into separate stages: a worker thread handles ink input and rendering to a wet ink texture, while the application canvas handles saving and final display. This segmentation allows concurrent processing of rendering and saving operations, preventing the pipeline backup that occurs when all operations are performed sequentially on a single thread.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary rendering by displaying ink in a wet ink texture before it is finalized and transferred to the application canvas. This allows the ink to be rendered and displayed immediately to reduce perceived lag, while the saving and finalization processes occur in the background without blocking the user interface.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If updates to the application canvas are tied to screen refresh frequency while stylus operates at system bus speed, then hardware timing constraints are respected, but ink is displayed in choppy bursts rather than smoothly

Engineering Contradiction:
Improvehardware timing complianceVSAvoidsmoothness of ink display
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent introduces a wet ink texture as an intermediary buffer between the high-speed stylus input and the screen refresh cycle. The worker thread continuously renders ink strokes to this intermediate texture at system bus speed, and the system compositor then transfers the rendered ink to the application canvas at screen refresh frequency. This intermediary buffer decouples the two different operating speeds, allowing smooth rendering without choppy display bursts.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If a dedicated worker thread is used for ink input and rendering, then real-time rendering with minimal lag is achieved, but device complexity increases

Engineering Contradiction:
Improvereal-time rendering speedVSAvoidthread management complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent extracts the ink rendering function from the main application thread and places it in a dedicated worker thread. This separation allows the rendering operations to be performed independently and continuously without interfering with the application's other tasks. The worker thread handles ink input, rendering to wet ink texture, and transfer to the application canvas, while the application thread focuses on high-level logic and user interaction.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS9672795B2Wet ink texture engine for reduced lag digital inking
Publication Date: 2017.06.06 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9672795B2 patent drawing
  • US9672795B2 patent drawing
  • US9672795B2 patent drawing

AI summary

A wet ink texture engine and associated method. The wet ink texture engine may run in the context of any application on any device, service, or general endpoint capable of receiving ink input. For example, the wet ink texture engine may be used in the context of a note application that receives input in the form of writing or drawing. The wet ink texture engine reduces, minimizes, or eliminates lag between receiving the input and displaying the input to improve inking experience for the user.