Delen via


Algemene overwegingen voor threading

Hieronder volgen algemene threadingoverwegingen bij het ontwikkelen voor Tablet PC.

Applicatie- en niet-applicatiedraden

Alle inktgebeurtenissen worden gegenereerd op een afzonderlijke inktthread met hoge prioriteit. Hierdoor kan inkt soepel stromen, zelfs wanneer een toepassing langzaam wordt uitgevoerd. Gebeurtenishandlers kunnen echter de weergave van inkt vertragen of blokkeren.

Alle herkenningsgebeurtenissen die door aanroepen van achtergrondherkenningsmethodes worden gegenereerd, worden verwerkt op een afzonderlijke thread met achtergrondherkenning met normale prioriteit.

Alle muis-gebeurtenissen worden gegenereerd op de hoofdthread van de gebruikersinterface (UI) van de toepassing.

Prestatieoverwegingen

Gebeurtenishandlers

De Tablet PC Platform Application Programming Interface (API) heeft een interactief model voor gebeurtenissen in plaats van een meldingsmodel. Houd code in gebeurtenishandlers kort om de tijd te verkorten dat inktweergave wordt geblokkeerd. De verzameling inkt door de tablet-pc wordt niet geblokkeerd, maar uw toepassing ontvangt de inkt niet terwijl uw toepassing wordt geblokkeerd.

Eigenschap AutoRedraw

Wanneer uw toepassing aangepaste rendering uitvoert of wanneer uw toepassing gevoelig is voor problemen met het schilderen, kunt u de hervernieuwing zelf afhandelen en de eigenschap AutoRedraw instellen op valse voor het InkCollector--object, het InkOverlay--object of het InkPicture-besturingselement. Gebruik de gebeurtenissen in de volgende tabel om het opnieuw schilderen te verwerken.

Object of besturingselement Gebeurtenis
InkCollector-object
Het onderliggende besturingselement Control.Invalidated en Control.Paint-gebeurtenissen.
InkOverlay Object
Het onderliggende besturingselement Control.Invalidated en Control.Paint gebeurtenissen.
InkPicture Control
InkPicture controle heeft de overgeërfde Control.Invalidated en Control.Paint gebeurtenissen.

Eigenschap DynamicRendering

Wanneer uw toepassing aangepaste rendering uitvoert of als u de informatie wilt, maar niet de inkt, kunt u zelf de vaststelling van inkt afhandelen en realtime rendering van inkt uitschakelen door de eigenschap DynamicRendering in te stellen op onwaar- voor het InkCollector--object, het InkOverlay-object, of het InkPicture besturingselement.

Overwegingen voor gebeurtenisthreading

Tablet PC Platform API-gebeurtenissen worden opgeroepen op verschillende threads.

Gebeurtenissen van InkCollector- en InkOverlay-objecten

De meeste InkCollector- en InkOverlay object-gebeurtenissen worden gegenereerd op de inktthread. Alleen de muisevenementen voor deze objecten worden in de UI-thread gegenereerd. Voor het object InkCollector wordt bijvoorbeeld de gebeurtenis MouseDown gegenereerd op de ui-thread en wordt de gebeurtenis CursorDown gegenereerd op de inktthread.

Verzamelingsevenementen voor inktobjecten en pennenstreken

Het Ink-object en Strokes verzameling evenementen kunnen afkomstig zijn van de inktthread of de UI-thread. Wanneer uw toepassing het Ink-object of de Strokes-collectie bewerkt, wordt de gebeurtenis gegenereerd in de UI-thread. Wanneer de InkCollector of het InkOverlay-object het Ink-object of de Strokes verzameling bijwerkt, wordt de gebeurtenis gegenereerd in de inktthread.

De InkPicture en InkEdit besturingselementen werken in een enkelvoudig thread-apartment (STA). Wanneer de controle InkPicture of InkEdit het Ink-object of de Strokes-verzameling bijwerkt, wordt de gebeurtenis gegenereerd op de gebruikersinterface-thread.

Herkenningsevenementen

Herkenningsevenementen worden gegenereerd op de gebruikersinterface-thread of de thread voor achtergrondherkenning.

Gebeurtenissen van peninvoerpaneel

PenInputPanel gebeurtenissen worden gegenereerd op de thread waarin het PenInputPanel--object wordt gemaakt.

Microsoft.Ink.InkCollector.DynamicRendering

Microsoft.Ink.InkOverlay.DynamicRendering-

Microsoft.Ink.InkPicture.DynamicRendering

Microsoft.Ink.InkCollector.AutoRedraw

Microsoft.Ink.InkOverlay.AutoRedraw

Microsoft.Ink.InkPicture.AutoRedraw