Consideraciones generales sobre subprocesos

A continuación se muestran consideraciones generales sobre subprocesos al desarrollar para tablet PC.

Subprocesos de aplicación y que no son de aplicación

Todos los eventos de entrada de lápiz se generan en un subproceso de entrada de lápiz independiente y de alta prioridad. Esto permite que la entrada de lápiz fluya sin problemas incluso cuando una aplicación se ejecuta lentamente. Sin embargo, los controladores de eventos pueden ralentizar o bloquear la representación de la entrada de lápiz.

Todos los eventos de reconocimiento generados por las llamadas al método de reconocimiento en segundo plano se controlan en un subproceso de reconocimiento en segundo plano de prioridad normal independiente.

Todos los eventos del mouse se generan en el subproceso principal de la interfaz de usuario (UI) de la aplicación.

Consideraciones de rendimiento

Controladores de eventos

La interfaz de programación de aplicaciones (API) tablet PC Platform tiene un modelo interactivo para eventos en lugar de un modelo de notificación. Mantenga el código en controladores de eventos cortos para reducir el tiempo en que se bloquea la representación de entrada de lápiz. La colección de entrada de lápiz por el pc tablet no está bloqueada, pero la aplicación no recibe la tinta mientras la aplicación está bloqueada.

AutoRedraw (propiedad)

Cuando la aplicación realiza una representación personalizada o cuando la aplicación es sensible a los problemas de pintura, puede controlar el reintentos usted mismo y establecer la propiedad AutoRedraw en false para el objeto InkCollector , el objeto InkOverlay o el control InkPicture . Use los eventos de la tabla siguiente para controlar la reintación.

Objeto o control Evento
InkCollector Objeto
Eventos Control.Invalidated y Control.Paint del control subyacente.
InkOverlay Objeto
Eventos Control.Invalidated y Control.Paint del control subyacente.
InkPicture Control
Eventos Control.Invalidated y Control.Paint heredados del control InkPicture.

DynamicRendering (propiedad)

Cuando la aplicación realiza una representación personalizada o cuando desea la información, pero no la entrada de lápiz, puede controlar la puesta de lápiz usted mismo y desactivar la representación en tiempo real de la entrada de lápiz estableciendo la propiedad DynamicRendering en false para el objeto InkCollector , el objeto InkOverlay o el control InkPicture .

Consideraciones sobre subprocesos de eventos

Los eventos de api de plataforma de pc tableta se generan en varios subprocesos.

Eventos de objetos InkCollector e InkOverlay

La mayoría de los eventos de objeto InkCollector y InkOverlay se generan en el subproceso de entrada de lápiz. Solo los eventos del mouse para estos objetos se generan en el subproceso de la interfaz de usuario. Por ejemplo, para el objeto InkCollector , el evento MouseDown se genera en el subproceso de la interfaz de usuario y el evento CursorDown se genera en el subproceso de entrada de lápiz.

Eventos de colección de objetos y trazos de lápiz

Los eventos de colección Ink y Strokes pueden provenir del subproceso de entrada de lápiz o del subproceso de la interfaz de usuario. Cuando la aplicación manipula el objeto Ink o la colección Strokes , el evento se genera en el subproceso de la interfaz de usuario. Cuando inkCollector o el objeto InkOverlay actualizan el objeto Ink o la colección Strokes , el evento se genera en el subproceso de entrada de lápiz.

Los controles InkPicture y InkEdit funcionan en un apartamento uniproceso (STA). Cuando el control InkPicture o InkEdit actualiza el objeto Ink o la colección Strokes , el evento se genera en el subproceso de la interfaz de usuario.

Eventos de reconocimiento

Los eventos de reconocimiento se generan en el subproceso de interfaz de usuario o en el subproceso de reconocimiento en segundo plano.

Eventos del panel de entrada de lápiz

Los eventos PenInputPanel se generan en el subproceso en el que se crea el objeto PenInputPanel .

Microsoft.Ink.InkCollector.DynamicRendering

Microsoft.Ink.InkOverlay.DynamicRendering

Microsoft.Ink.InkPicture.DynamicRendering

Microsoft.Ink.InkCollector.AutoRedraw

Microsoft.Ink.InkOverlay.AutoRedraw

Microsoft.Ink.InkPicture.AutoRedraw