Problèmes pris en charge
- un traitement censé s’exécuter à intervalle constant dérive avec le temps ;
- il faut réduire les pertes lors de la surveillance ou de la mesure d’un équipement ;
- l’affichage doit rester fluide ;
- l’interface, les communications, les journaux et les tâches périodiques rendent l’origine des retards difficile à identifier ;
- l’application répond moins bien après une longue durée d’exécution ;
- l’usage de Timer et Sleep doit être revu dans une architecture maintenable.
Il s’agit ici de réduire latence et gigue sous Windows standard. Nous privilégions une stabilité et une observabilité réalistes, et non une garantie de temps réel strict.
Sujets particulièrement adaptés
- boucles périodiques, interrogation et surveillance ;
- reconnexion, délais d’attente et détection d’anomalies dans les applications reliées à des équipements ;
- mises à jour graphiques et d’interface plus fluides ;
- séparation du thread d’interface et des traitements d’arrière-plan ;
- gestion du cycle de vie avec Generic Host / BackgroundService ;
- conception des journaux et mesures nécessaires pour suivre latence et gigue.
Déroulement
- Nous précisons la période, le retard acceptable et les traitements qui peuvent ou ne peuvent pas être omis.
- Nous séparons les responsabilités de l’interface, des communications, des attentes, des journaux et de la reconnexion afin de rendre les retards observables.
- Nous mettons en place les mécanismes d’attente, d’annulation, d’arrêt, de gestion des exceptions et les journaux pour l’exploitation de longue durée.
Situations adaptées
- création d’une application Windows de surveillance ou de mesure ;
- diagnostic d’un traitement périodique instable ;
- amélioration d’un affichage saccadé ou d’une interface qui se bloque ;
- évaluation de ce qui reste possible sous Windows avant de passer à un système d’exploitation temps réel ;
- création de journaux capables d’expliquer les retards et pertes.