DirectX: Strukturen und Geschichte

Lösung: Pseudo-Einprozess-System

Leider lässt sich der durch Multitasking und durch die Natur von Windows verursachte Überbau nicht einfach beseitigen. Jedenfalls nicht, wenn dies nicht auf das Neuschreiben des gesamten Betriebssystems hinauslaufen soll. Das war bei der hardwarenahen Programmierung, beispielsweise auf dem Amiga, durchaus üblich. Nicht nur Spiele, auch Anwendungsprogramme basierten auf dem Prinzip "Welche Teile des Betriebssystems schalte ich vor dem Start meines Programms aus?". Die fehlenden Routinen ersetzten die Programmierer durch eigenen Code, der schneller war, mehr Funktionen bot und obendrein kleiner war.

Was sich die Entwickler von Microsoft für DirectX einfallen ließen, war dagegen ein ganzes Bündel von Techniken, von denen wir einige exemplarisch herausgegriffen haben.

Pseudo-Einprozess-System

Pseudo-Einprozess-System: Programme fordern beim System eine Ressource "bis auf weiteres" an. Das System nimmt dabei eine Sicherung des Zustandes vor. Danach bleibt die Ressource so lange im Besitz des Programms, bis ein anderer Prozess seine Wünsche anmeldet. Erst in diesem Moment, also nicht nach jeder Einzelaktion, stellt das System den ursprünglichen Zustand wieder her. Es erlaubt dann dem anderen Prozess den Zugriff - und meldet dem ersten Prozess "Fehler", wenn dieser später versucht, seine Aktionen ohne Reinitialisierung fortzusetzen.