Wet Ink Texture Engine for Digital Inking Lag Reduction
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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
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.
Data Source
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.


