 | Le multimédia timer a les performances les plus
intérressantes, permettant une activation à la milliseconde, avec un gite de -950 à
+500 us si on a pris la précaution d'installer un driver IDE en mode DMA (bus
master). Il ne semble pas y avoir de dérive. Toutefois la fonction exécutée est de type
callback s'exécute dans un thread non identifié de priorité
THREAD_PRIORITY_TIME_CRITICAL. |
 | Le waitable timer n'a une résolution que de 10 ms. Une
demande d'activation à 1 ms est ramenée à 10 ms, 15 ms est ramené à 20 ms, etc. Sauf
si un timer multimédia est actif en parallèle, il a alors la même résolution (1ms), un
peu plus de stabilité (-500us à +500us) mais dérive légèrement (de l'ordre d'une
miliseconde toute les secondes). Le thread associé est identifié et maîtrisé. |
 | Les Timers Hard du PC, Timer système (IRQ0) et Timer Horloge temps réelle RTC (IRQ8)
sont réservés de façon exclusive par la couche HAL de NT et ne sont donc pas
utilisables de façon "propre". Un essai sera tenté pour les détourner. |
L'instruction Sleep, suspendant le thread dans le temps
indiqué se comporte comme le waitable timer avec l'erreur en plus du traitement cyclique
du thread à ajouter à la période.
Il a été tenté d'accrocher une DPC prioritaire au timer kernel dans un driver sans
amélioration visible des performances, aussi le driver n'est-il pas fourni avec le
programme de test.
|