Grafik in Windows 7: Rückkehr der Hardwarebeschleunigung

Über die Jahre haben sich mehrere APIs etabliert, die Zugriff auf die Fenster in Windows erhalten. Die ursprüngliche Schnittstelle, die noch aus Windows 1.0 stammt, ist das GDI. Damit lassen sich einfache 2D-Grafiken zeichnen. Heute kommen vor allem DirectX-Technologien wie DirectDraw und Direct 3D hinzu.

Die Schwierigkeit dabei besteht in der Koexistenz der verschiedenen APIs. Das ist eine durchaus komplexe Aufgabe. Schon oft hat Microsoft dabei etwas geschummelt. Das gilt zum Beispiel für den GDI-Nachfolger GDI+. GDI ist ein reines Standard-C-Interface. Programmcode von komplexen Anwendungen, der GDI verwendet, ist sehr schwer zu lesen. Neue Entwickler, die sich in ein Projekt einarbeiten müssen, haben Mühe, sich durch bestehenden Code zu arbeiten.

GDI+ ist ein C++-Interface, dass mehr Funktionen bietet und auch gut von .NET-Anwendungen genutzt werden kann. Vergleichbar ist GDI+ mit der Quartz2D-Schnittstelle von Mac OS X.

GDI+ ist seit Windows NT4 Service Pack 4 verfügbar. Entwickler müssen also nicht befürchten, dass GDI+-Anwendungen nur unter den neuesten Windows-Versionen laufen. Allerdings ist GDI+ bis Windows XP als "Huckepack-API" auf GDI implementiert. So konnte Microsoft das Problem umgehen, dass die APIs GDI und GDI+ konkurrierend auf Windows-Fenster zugreifen.

Der negative Effekt ist allerdings, dass GDI+ in dieser Implementierung sehr performanceschwach ist. Chris Jackson stellte anhand eines einfachen Quick-and-dirty-Benchmarks fest, dass GDI+ etwa um den Faktor sechs langsamer ist. Derartige Werte motivieren Entwickler kaum, GDI+ zu verwenden. Hinzu kommt, dass sich Altanwendungen nicht so einfach portieren lassen.


Bild 7: Die Grafik (rote Balken) zeigt den immensen Speicherverbrauch des DWM unter Vista (Quelle Microsoft).

Mit Vista hat Microsoft bezüglich GDI+ durchaus Fortschritte erzielt. ZDNet konnte mit dem Chris-Jackson-Benchmark eine GDI+-Performance von 92,4 Prozent messen bezogen auf die Geschwindigkeit von GDI. Allerdings hat Microsoft erneut geschummelt. Mit Vista hat Microsoft den Desktop Window Manager (DWM) eingeführt. Der sollte als Teil des Windows Display Driver Model eine Schicht zwischen Fenster und Treiber bilden und die Zugriffe verschiedener APIs auf die Fenster koordinieren.

Dabei hat Microsoft allerdings bei dem am meisten verwendeten 2D-API GDI geschlampt. Die 2D-Hardwarebeschleunigung wurde bei der Neuauflage des GDI nicht implementiert. Stattdessen rendert GDI unter Vista den Fensterinhalt mit der CPU in einen Hauptspeicherpuffer des DWM, der das fertige Fenster an die Grafikkarte weiterleitet. Ferner kann der DWM immer nur die GDI-Befehle eines Fensters bearbeiten. So entsteht unter Vista ein Bottleneck, da alle anderen Fenster warten müssen.

Das ist nicht nur langsam, sondern verbraucht auch jede Menge Speicher. Bei 10 bis 15 Fenstern auf dem Desktop benötigt der DWM bei aktivierter Aero-Oberfläche oft 100 MByte und mehr für sich.

Page: 1 2 3 4 5 6 7

ZDNet.de Redaktion

Recent Posts

Chrome 124 schließt 23 Sicherheitslücken

Darunter ist ein weiterer Sandbox-Escape. Angreifer können unter Umständen aus der Ferne Schadcode einschleusen und…

1 Woche ago

Plus 8 Prozent: Gartner hebt Prognose für IT-Ausgaben an

Sie steigt auf 8 Prozent Wachstum in diesem Jahr. Der Bereich IT-Services wächst in diesem…

1 Woche ago

Hacker verbreiten neue Windows-Backdoor per Word-Add-in

Die Hintermänner stammen mutmaßlich aus Russland und haben staatliche Unterstützung. Die Backdoor Kapeka wird seit…

1 Woche ago

Brand-Phishing: Microsoft und Google im ersten Quartal weiter führend

Cyberkriminelle haben auf Zahlungs- und Zugangsdaten abgesehen. LinkedIn landet auf dem ersten Platz. Zudem verhelfen…

1 Woche ago

Das macht die Paysafecard zu einer sicheren Zahlungsmethode

Die Paysafecard hat sich in den letzten Jahren als eine der beliebtesten und sichersten Zahlungsmethoden…

1 Woche ago

Firefox 125 verbessert PDF Viewer und Sicherheit

Texte können nun im PDF Viewer farblich markiert werden. Firefox blockiert zudem mehr verdächtige Downloads…

1 Woche ago