pdr2002 schrieb:
So ist es, OpenGL hat sich bzgl. Windows noch nie um die Windows GUI gekümmert. Das ist die Implemntierung von Windows, die es gestatted das Treiber den direkten Weg zur Hardware nehmen können. Die Anwendungen, die OpenGL benötigen nutzen eben nicht das OS, sondern umgehen es. Aus diesem Grund sind OpenGL Anwendungen unter Windows in der regel schneller, weil diese direkt ohne Umwege auf die HW zugreifen können. in OSX gibt es keinen direkten Zugriff auf die HW, daher ist der OpenGL Anwendung auch langsamer.
Die GUIs der vorherigen Windows-Versionen, benutzte aber auch nie DirectX.
Das Problem an der Sache ist:
Die GUI bei Vista läuft komplett über DirectX (bzw. WGF). D.h. DirectX belegt jetzt den 3D-Kanal zu Grafikkarte.
Startet eine weitere DirectX-Anwendung, so wird der Kanal einfach geteilt.
So macht das OS X mit OpenGL auch.
Jetzt aber das Problem bei Vista. Wenn DirectX den Kanal schon belegt (Ab Systemstart), kann es diesen nicht für OpenGL "frei" machen, da sich beide nicht kennen und nicht direkt kommunizieren können. D.h. beide würden der Karte ihre Befehle senden und die Karte weiß nicht was sie überhaupt, in welcher Reihenfolge machen soll. Daher geht OpenGL bei Vista bisher nur über DirectX.
Daher müsste M$ OpenGL so in das System implementieren wie DirectX, bzw. die Grafkkarten-Treiber-Hersteller müssen das machen. Bedenkt aber das bisher noch keine klare Entscheidung von M$ vorhanden ist, über die OpenGL-Implementierung.
In Spielen ist das alles weniger ein Problem, da die meisten eh im Vollbild-Modus spielen. Hier könnte man die Designs ja locker abschalten. Merkt man ja nicht. Das Problem sind eher die Profi-Programme wie CAD usw. Diese stellen OpenGL ja meist im Fenster dar und dann gibt's halt Probleme.
Muss man halt warten was bei raus kommt.