GUIDE 05
Polling rate et limites de la mesure — quelle est la précision d'un score CPS ?
L'effet du polling rate de la souris, de l'horodatage des événements du navigateur, de la répétition des touches et de la fréquence de l'écran sur la mesure du CPS, et ses limites.
Le CPS mesuré sur le web ne se base pas sur « l'instant où le doigt appuie sur le bouton », mais sur « l'instant où le navigateur reçoit l'événement ». Entre les deux, il y a plusieurs étapes, et chacune introduit une petite erreur. Voici ce qui influe sur la mesure, et ce qui n'y change rien.
Le trajet d'une entrée jusqu'à l'écran
- Le switch est enfoncé, puis le firmware de la souris confirme l'appui après l'anti-rebond.
- La souris signale son état à l'ordinateur à intervalles fixes (polling).
- Le système d'exploitation reçoit l'entrée et la transmet au navigateur.
- Le navigateur crée un événement, lui attribue un horodatage et le transmet au script de la page.
Polling rate
Le polling rate est le nombre de fois par seconde où la souris signale son état. L'intervalle entre deux signalements vaut 1000 ÷ polling rate (en ms).
| Polling rate | Intervalle de signalement |
|---|---|
| 125 Hz | 8 ms |
| 500 Hz | 2 ms |
| 1000 Hz | 1 ms |
Il n'a presque aucun effet sur le nombre de clics. Même à 20 clics par seconde, l'intervalle entre deux clics est de 50 ms, bien plus long que l'intervalle de signalement à 125 Hz. En revanche, l'horodatage de chaque clic peut être retardé d'un intervalle de signalement, si bien que la répartition des intervalles peut être brouillée de quelques ms.
Précision de l'horodatage du navigateur
CPS Meter utilise l'horodatage attaché à l'événement (event.timeStamp) et performance.now(). Pour des raisons de sécurité, les navigateurs réduisent parfois volontairement la précision de ces valeurs : mieux vaut donc lire les intervalles à quelques ms près plutôt que de se fier aux décimales. Même si la page est occupée par une tâche lourde, l'horodatage de l'événement correspond au moment où l'entrée est arrivée, donc aucune entrée n'échappe au décompte.
La fréquence de l'écran n'y change rien
Qu'il soit à 60 Hz ou à 240 Hz, le taux de rafraîchissement de l'écran ne change que la vitesse d'affichage des chiffres. Le décompte des entrées se fait indépendamment de l'actualisation de l'écran : la fréquence ne modifie donc pas le score.
Sans fil et Bluetooth
Avec une connexion sans fil, les signalements arrivent parfois groupés ou en retard. Le nombre de clics reste généralement le même, mais la répartition des intervalles peut s'élargir. Pour une comparaison précise, comparez des mesures faites avec le même type de connexion.
Répétition des touches
Quand vous maintenez une touche du clavier enfoncée, le système d'exploitation génère des entrées répétées à intervalles réguliers. CPS Meter vérifie l'indicateur de répétition de l'événement (KeyboardEvent.repeat) et, en plus, ne compte pas de nouvelle entrée tant que la touche n'a pas été relâchée. Maintenir une touche enfoncée ne fait donc pas monter le score.
Traitement du début et de la fin
- Début : le premier clic lance le chrono, donc le temps de réaction est exclu.
- Fin : les entrées arrivées après la fin exacte de la durée choisie sont ignorées. Même si « Terminé » s'affiche avec un peu de retard, le décompte se base sur l'horodatage des événements.
- Départ : si vous passez à un autre onglet pendant la mesure, le navigateur peut ralentir le chrono ; la mesure est donc annulée.
Conclusion
Pour suivre une tendance sur plusieurs essais, une mesure dans le navigateur suffit largement. Des écarts d'environ 0.1 CPS peuvent venir du matériel ou de la connexion : comparez plusieurs essais réalisés dans les mêmes conditions.