Compartir a través de


Consideraciones generales sobre subprocesos

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

Subprocesos de aplicación y no 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 independiente de prioridad normal.

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) de la plataforma tablet PC tiene un modelo interactivo para eventos en lugar de un modelo de notificación. Mantenga el código en los 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 del 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 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 reintentos.

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
Los 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 y InkOverlay

La mayoría de los eventos de objeto InkCollector y InkOverlay se generan en el subproceso de entrada de lápiz. Solo se generan los eventos del mouse para estos objetos 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

El objeto Ink y los eventos de colección 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 de un solo subproceso (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 del 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