Geschichte von Windows: Der Bug, durch den Space Cadet Pinball mit 5.000 fps lief

Der ehemalige Microsoft-Entwickler Dave Plummer arbeitete seinerzeit in dem Unternehmen unter anderem an Modulen wie dem Task Manager. So wie dieser heute nicht mehr aus Windows wegzudenken ist, kam in den 90er-Jahren nahezu jede neue Windows-Version mit dem ikonischen Space Cadet Pinball , welches Plummer von den noch größtenteils auf DOS basierenden Versionen auf Windows NT portierte.
Der Ex-Entwickler erstellte dafür eine eigene Engine für Bild und Ton auf Basis von C. Dabei schlich sich ein Bug ein, der allerdings erst Jahre später mit den ersten Multi-Core-Prozessoren bekannt werden sollte: Space Cadet Pinball reservierte sich einen kompletten Kern, wenn es möglich war. Auf moderneren und immer schnelleren Systemen führte das nicht nur zu einer teilweise enormen CPU-Auslastung. Das Spiel wurde zudem in bis zu 5.000 Frames pro Sekunde gerendert.
Unendlich Frames pro Sekunde?
"Meine Spielengine hatte einen Bug, durch den sie Frames so schnell wie möglich generieren konnte" , sagt Plummer in einem Video auf seinem Youtube-Kanal Dave's Attic(öffnet im neuen Fenster) . "An einem guten Tag lief es anfangs bei 60 bis 90 fps" fügt er hinzu. "Später renderte es mit etwa 5.000 fps, weil Maschinen viel, viel schneller rechneten."
Raymond Chen, der ebenfalls bei Microsoft als Entwickler arbeitete, entdeckte den Fehler und baute später einen Frame-Limiter ein. Space Cadet Pinball sollte fortan nur noch mit maximal 100 fps laufen und so die CPU-Auslastung auf ungefähr ein Prozent begrenzen. "Am stolzesten bin ich auf den Moment, als ich Pinball gefixt hatte, so dass ihr Code compilieren und gleichzeitig Pinball spielen konntet" , sagt Chen im Interview mit Dave Plummer(öffnet im neuen Fenster) .