Considerazioni generali sul threading

Di seguito sono riportate considerazioni generali relative al threading quando si sviluppa per Tablet PC.

Thread applicazione e non applicazione

Tutti gli eventi Ink vengono generati in un thread di input penna separato a priorità alta. In questo modo, l'input penna potrebbe propagarsi senza problemi anche quando un'applicazione viene eseguita lentamente. Tuttavia, i gestori eventi possono rallentare o bloccare il rendering dell'input penna.

Tutti gli eventi di riconoscimento generati dalle chiamate al metodo di riconoscimento in background vengono gestiti in un thread di riconoscimento in background separato con priorità normale.

Tutti gli eventi del mouse vengono generati sul thread dell'interfaccia utente principale dell'applicazione.

Considerazioni sulle prestazioni

Gestori di eventi

La piattaforma Tablet PC Application Programming Interface (API) dispone di un modello interattivo per gli eventi anziché un modello di notifica. Per ridurre il tempo di blocco del rendering dell'input penna, è possibile lasciare il codice nei gestori eventi Short. La raccolta di input penna da parte del Tablet PC non è bloccata, ma l'applicazione non riceve l'input penna mentre l'applicazione è bloccata.

Proprietà AutoRedraw

Quando l'applicazione esegue il rendering personalizzato o quando l'applicazione è sensibile ai problemi di disegno, è possibile gestire il disegno e impostare la proprietà AutoRedraw su false per l'oggetto InkCollector , l'oggetto InkOverlay o il controllo InkPicture . Utilizzare gli eventi nella tabella seguente per gestire la ridisegno.

Oggetto o controllo Evento
Oggetto InkCollector Oggetto
Il controllo del controllo sottostante. gli eventi invalidati e Control. Paint .
InkOverlay Oggetto
Il controllo del controllo sottostante. gli eventi invalidati e Control. Paint .
InkPicture Controllo
Il controllo ereditato del controllo InkPicture . gli eventi invalidati e Control. Paint .

Proprietà DynamicRendering

Quando l'applicazione esegue il rendering personalizzato o quando si desiderano le informazioni, ma non l'input penna, è possibile gestire il layout dell'input penna e disattivare il rendering in tempo reale dell'input penna impostando la proprietà DynamicRendering su false per l'oggetto InkCollector , l'oggetto InkOverlay o il controllo InkPicture .

Considerazioni sul threading degli eventi

Gli eventi API della piattaforma Tablet PC vengono generati in diversi thread.

Eventi degli oggetti InkCollector e InkOverlay

La maggior parte degli eventi degli oggetti InkCollector e InkOverlay viene generata nel thread di input penna. Solo gli eventi del mouse per questi oggetti vengono generati sul thread dell'interfaccia utente. Per l'oggetto InkCollector , ad esempio, viene generato l'evento MouseDown sul thread dell'interfaccia utente e viene generato l'evento CursorDown sul thread Ink.

Eventi dell'oggetto Ink e della raccolta Strokes

Gli eventi dell'oggetto Ink e della raccolta Strokes possono provenire dal thread dell'input penna o dal thread dell'interfaccia utente. Quando l'applicazione modifica l'oggetto Ink o la raccolta Strokes , l'evento viene generato nel thread UI. Quando l'oggetto InkCollector o l'oggetto InkOverlay aggiorna l'oggetto Ink o la raccolta Strokes , l'evento viene generato nel thread di input penna.

I controlli InkPicture e InkEdit operano in un Apartment a thread singolo (sta). Quando il controllo InkPicture o InkEdit aggiorna l'oggetto Ink o la raccolta Strokes , l'evento viene generato sul thread dell'interfaccia utente.

Eventi di riconoscimento

Gli eventi di riconoscimento vengono generati nel thread UI o nel thread di riconoscimento in background.

Eventi del pannello input penna

Gli eventi PenInputPanel vengono generati sul thread in cui viene creato l'oggetto 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