Windows ConfidentialEin Joystick muss keine Mikrowelle sein

Raymond Chen

Vor kurzem las ich einen Blogbeitrag eines Kollegen von mir, dem „Audio Fool“, und er erinnerte mich an einen Fehler, der mir vor vielen Jahren unterlaufen ist und der mich noch immer beschäftigt. Als sich die DirectInput®-Schnittstelle für Joysticks mit Kraftrückmeldung (Force Feedback) noch in der Entwicklung befand, wurden Joystickhersteller in die Microsoft-Zentrale in Redmond (Washington) eingeladen, um die Details der vorgeschlagenen Schnittstelle zu diskutieren und eigenes Feedback zu geben (kein Wortspiel beabsichtigt).

Bei diesen Treffen wurden zahlreiche Probleme erörtert, besonders im Gedächtnis geblieben ist mir jedoch ein Disput darüber, ob periodische Kräfte als Periode oder als Frequenz ausgedrückt werden sollten. Einer der anwesenden Hersteller regte sich auf, weil sein Unternehmen bereits einen Treiber entwickelt hatte, der die periodischen Kräfte als Frequenz angab, und der Hersteller dies nicht ändern wollte. Wie konnte ein Hersteller angesichts der Tatsache, dass es bei diesem Treffen um die Erarbeitung der Details einer völlig neuen Schnittstelle ging, erwarten, keinerlei Änderungen an seinem Treiber vornehmen zu müssen?

Dieser Hersteller beklagte sich jedoch so lautstark, dass wir schließlich nachgaben und zustimmten, zur Angabe der Rate periodischer Kräfte die Frequenz anstelle der Periode zu verwenden. Schließlich würde es doch auf dasselbe hinauslaufen. Eine Kraft mit einer Frequenz von 10 Schwingungen pro Sekunde ist mit einer Kraft mit einer Periode von einer Zehntelsekunde identisch. Periode und Frequenz stehen im umgekehrten Verhältnis.

Nun, das stimmt nicht ganz. Die Periode wurde in Millisekunden ausgedrückt, wodurch sie einen dynamischen Bereich zwischen 1 ms und knapp 50 Tagen erhält. Eine Periode von 50 Tagen ist auf der menschlichen Zeitskala nicht wahrnehmbar, und eine Periode von 1 ms ist so schnell, dass sie nicht einmal als periodisches Phänomen registriert wird – stattdessen wird sie als Musikton wahrgenommen.

Die Frequenz wurde andererseits in Hertz ausgedrückt, wodurch sie einen dynamischen Bereich von 1 Hz bis zu 4 Milliarden Zyklen pro Sekunde erhält. Finden Sie es vielleicht komisch, mit Ihrem Joystick Musik zu spielen? Stellen Sie sich die Erzeugung von Kräften vor, die bis in den Mikrowellenfrequenzbereich reichen!

Das Problem besteht darin, dass die praktisch nutzlose Ausdrucksstärke am oberen Ende des Frequenzbereichs zu Lasten des unteren Endes ging. Wie sich herausstellt, sind Flugsimulatoren große Fans periodischer Kräfte mit vergleichsweise langen Perioden. Ich kenne die zugrunde liegende Physik nicht, aber mir wurde gesagt, dass einer der Effekte, mit dem sich Piloten befassen müssen, eine auf den Steuerknüppel einwirkende periodische Kraft im Bereich von einigen Minuten ist. Das Flugzeug hat eine natürliche Tendenz, sich in einer sehr langsamen vertikalen Sinuswelle zu bewegen, und Piloten müssen Maßnahmen ergreifen, um dieser Tendenz entgegenzuwirken und den Horizontalflug aufrechtzuerhalten. Wenn die Rate der Kraft durch ihre Periode ausgedrückt würde, könnte im Flugsimulatorprogramm eine Periode von 120.000 Millisekunden vorgesehen werden. Als Frequenz ausgedrückt sind dies jedoch 0,0083 Hertz, was weitaus langsamer als die langsamste Frequenz ist, die in der Treiberschnittstelle ausgedrückt werden kann, nämlich 1 Hz. Daher ist die langsamste Kraft, die ein Flugsimulator anfordern kann, eine Kraft, die sich jede Sekunde wiederholt, was in Bezug auf den physikalischen Effekt, den der Flugsimulator nachahmen soll, immer noch ziemlich schnell ist.

Da mich dieses Problem nach all den Jahren immer noch beschäftigt, habe ich kürzlich in der Dokumentation zur Kraftrückmeldung nachgeschlagen. Zu meiner Überraschung wird anscheinend bei der DIPERIODIC-Struktur die Periode anstelle der Frequenz verwendet, um periodische Effekte auszudrücken. (Obendrein werden Mikrosekunden verwendet, was bedeutet, dass Sie jetzt nicht nur ein Flugzeug fliegen, sondern auch Musik spielen können.) Entweder wurde der Fehler behoben, oder ich werde langsam alt, und mein Gedächtnis spielt mir einen Streich. Ich muss mir jedenfalls keine Sorgen mehr wegen dieses Fehlers machen – wenn er denn überhaupt je passiert ist.

Raymond Chen befasst sich auf seiner Website „The Old New Thing“ und in seinem gleichnamigen Buch (Addison-Wesley, 2007) mit der Geschichte von Windows und mit der Win32-Programmierung. Diese Farbe steht Ihnen ausgezeichnet.

© 2008 Microsoft Corporation und CMP Media, LLC. Alle Rechte vorbehalten. Die nicht genehmigte teilweise oder vollständige Vervielfältigung ist nicht zulässig.