Considérations générales relatives aux threads
Les éléments suivants sont des considérations générales relatives au threading lors du développement pour Tablet PC.
- Threads d’application et non-application
- Considérations relatives aux performances
- Considérations relatives aux threads d’événements
- Rubriques connexes
Threads d’application et non-application
Tous les événements d’encre sont générés sur un thread d’encre à priorité élevée distinct. Cela permet à l’entrée manuscrite de circuler en douceur, même lorsqu’une application s’exécute lentement. Toutefois, les gestionnaires d’événements peuvent ralentir ou bloquer le rendu de l’entrée manuscrite.
Tous les événements de reconnaissance générés par les appels de méthode de reconnaissance en arrière-plan sont gérés sur un thread distinct de reconnaissance en arrière-plan de priorité normale.
Tous les événements de souris sont générés sur le thread d’interface utilisateur main de l’application.
Considérations relatives aux performances
Gestionnaires d'événements
L’interface de programmation d’application (API) tablet PC Platform a un modèle interactif pour les événements plutôt qu’un modèle de notification. Gardez le code dans les gestionnaires d’événements court pour réduire le temps de blocage du rendu manuscrit. La collection d’encre par le Tablet PC n’est pas bloquée, mais votre application ne reçoit pas l’entrée manuscrite tant que votre application est bloquée.
AutoRedraw, propriété
Lorsque votre application effectue un rendu personnalisé ou que votre application est sensible aux problèmes de peinture, vous pouvez gérer le repeint vous-même et définir la propriété AutoRedraw sur false pour l’objet InkCollector , l’objet InkOverlay ou le contrôle InkPicture . Utilisez les événements du tableau suivant pour gérer le repeint.
Objet ou contrôle | Événement |
---|---|
Inkcollector Objet |
Les événements Control.Invalidated et Control.Paint du contrôle sous-jacent. |
Inkoverlay Objet |
Les événements Control.Invalidated et Control.Paint du contrôle sous-jacent. |
Inkpicture Contrôle |
Événements Control.Invalidated et Control.Paint hérités du contrôle InkPicture. |
DynamicRendering, propriété
Lorsque votre application effectue un rendu personnalisé ou que vous souhaitez obtenir les informations, mais pas l’encre, vous pouvez gérer vous-même la pose de l’encre et désactiver le rendu en temps réel de l’encre en définissant la propriété DynamicRendering sur false pour l’objet InkCollector , l’objet InkOverlay ou le contrôle InkPicture .
Considérations relatives aux threads d’événements
Les événements de l’API Plateforme Tablet PC sont déclenchés sur différents threads.
Événements d’objets InkCollector et InkOverlay
La plupart des événements d’objet InkCollector et InkOverlay sont déclenchés sur le thread d’encre. Seuls les événements de souris pour ces objets sont déclenchés sur le thread d’interface utilisateur. Par exemple, pour l’objet InkCollector , l’événement MouseDown est déclenché sur le thread d’interface utilisateur et l’événement CursorDown est déclenché sur le thread d’encre.
Événements de collection d’objets ink et de traits
L’objet Ink et les événements de collection Strokes peuvent provenir du thread d’encre ou du thread d’interface utilisateur. Lorsque votre application manipule l’objet Ink ou la collection Strokes , l’événement est généré dans le thread d’interface utilisateur. Lorsque l’objet InkCollector ou InkOverlay met à jour l’objet Ink ou la collection Strokes , l’événement est généré dans le thread d’encre.
Les contrôles InkPicture et InkEdit fonctionnent dans un appartement à thread unique (STA). Lorsque le contrôle InkPicture ou InkEdit met à jour l’objet Ink ou la collection Strokes , l’événement est déclenché sur le thread d’interface utilisateur.
Événements de reconnaissance
Les événements de reconnaissance sont déclenchés sur le thread d’interface utilisateur ou le thread de reconnaissance en arrière-plan.
- La méthode Recognize du contrôle InkEdit déclenche l’événement Reconnaissance (bibliothèque managée uniquement) ou RecognitionResult (Automation uniquement) sur le thread d’interface utilisateur.
- Les méthodes BackgroundRecognize et BackgroundRecognizeWithAlternates de l’objet RecognizerContext déclenchent les événements Recognition et RecognitionWithAlternates sur le thread de reconnaissance en arrière-plan.
Événements du panneau d’entrée de stylet
Les événements PenInputPanel sont déclenchés sur le thread dans lequel l’objet PenInputPanel est créé.