La vie secrète de WindowsUn joystick n'a pas besoin d'être un micro-ondes

Raymond Chen

Je lisais récemment un blog envoyé par un de mes collègues, The Audio Fool, et il m'a fait penser à une erreur que j'ai faite il y a plusieurs années et qui n'a pas cessé de m'ennuyer depuis. Lorsque l'interface du joystick à retour de force DirectInput® était en conception, les fabricants de ce produit ont été invités au bureau Microsoft de Redmond, dans l'État de Washington, afin d'examiner les détails de l'interface proposée et faire part de leurs commentaires.

Plusieurs points ont été débattus durant ces réunions, mais ce dont je me rappelle le plus, c'était un désaccord sur les forces périodiques et s'il fallait parler de période ou de fréquence. L'un des fournisseurs présents n'était pas du tout content parce que son entreprise avait déjà écrit un pilote qui se référait aux forces périodiques en termes de fréquence, et il ne voulait aucun changement à ce sujet. Étant donné que le but de cette réunion était de s'entendre sur une interface tout neuve, comment un fournisseur, quel qu'il soit, pouvait-il s'attendre à quitter la réunion sans avoir à apporter une modification quelconque à son pilote ?

Ce fournisseur s'est tellement plaint que nous avons fini par consentir à utiliser le terme fréquence au lieu de période pour exprimer le taux des forces périodiques. Après tout, le choix des termes n'était pas vraiment important dans ce cas-là. Une force d'une fréquence de 10 oscillations par seconde est identique à une force d'une période d'un dixième de seconde. La période est exactement l'inverse de la fréquence.

Euh, cela n'est pas tout à fait vrai ! La période a été exprimée en millisecondes, ce qui donne une plage dynamique comprise entre 1 ms et un tout petit moins de 50 jours. Une période de 50 jours est insignifiante sur une échelle de vie humaine, et une période de 1 ms est si rapide qu'elle ne compte même pas comme un phénomène périodique. Elle est plutôt perçue comme un ton de musique.

D'un autre côté, la fréquence a été exprimée en hertz, ce qui donne une plage dynamique comprise entre 1 Hz et 4 milliards de cycles par seconde. Étrange de jouer de la musique sur votre joystick, non ? Imaginez des forces qui équivalent à la bande de fréquences d'un micro-ondes !

Le problème est que la puissance expressive et pratiquement inutile de la bande de fréquence supérieure est obtenue aux dépens de la bande de fréquence inférieure. Il s'avère que les simulateurs de vol raffolent des forces périodiques avec des périodes comparativement longues. Je ne suis pas sûr de la physique derrière la théorie, mais on m'a dit que l'un des problèmes auxquels les pilotes doivent faire face est une force périodique lente, de l'ordre de quelques minutes, sur le joystick. L'avion a une tendance naturelle à voyager en suivant une onde sinusoïdale verticale très lente, et les pilotes doivent prendre des mesures pour neutraliser cette tendance afin de maintenir un vol en palier. Si le taux de la force était exprimé en période, le programme du simulateur de vol pourrait spécifier une période de 120 000 millisecondes. En tant que fréquence, toutefois, elle est de 0,0083 hertz, ce qui est beaucoup plus lent que la plus lente fréquence qui puisse être exprimée dans l'interface du pilote, à savoir 1 Hz. Donc, la force la plus lente qu'un simulateur de vol puisse demander est une force qui se répète toutes les secondes, ce qui est assez rapide par rapport à l'effet physique que le simulateur de vol veut imiter.

Étant donné que ce problème n'a pas cessé de m'importuner durant toutes ces années, j'ai récemment jeté un coup d'œil sur la documentation liée au retour de force. À ma grande surprise, il paraît que la structure BIPÉRIODIQUE utilise le terme période au lieu de fréquence pour exprimer des effets périodiques. (En plus, elle utilise des microsecondes, ce qui signifie que vous pouvez désormais jouer de la musique ou piloter un avion). Ou l'erreur a été corrigée ou je deviens sénile et ma mémoire me joue des tours. De toutes manières, je n'ai plus à me soucier de cette erreur, même si elle ne s'est plus jamais produite !

Raymond Chen, The Old New Thing, et son livre du même titre (Addison-Wesley, 2007) traitent de l’historique de Windows et de la programmation Win32. Cette couleur vous va à merveille.

© 2008 Microsoft Corporation et CMP Media, LLC. Tous droits réservés. Toute reproduction, totale ou partielle, est interdite sans autorisation préalable.