Grundlagenartikel Testberichte VGA

2D-Leistung im Rückwärtsgang? Eine umfassende Analyse! | Retro vor 10 Jahren

Windows XP: Klare Fronten mangels Konkurrenz

Das GDI spielt bis einschließlich Windows XP die zentrale Rolle bei der Ausgabe aller 2D-Inhalte,was sich anhand des (leicht vereinfachten) Schemas erkennen lässt. Wir wollen nun den Ablauf anhand der Entstehung und Ausgabe einer Linie nachvollziehen. Unsere Mausbewegungen für das Zeichnen einer Linie gehen als Information zunächst an win32k.sys, der zentrale Anlaufstelle für alle möglichen Ereignisse. Egal ob Maus- bzw. Tastatureingaben oder alle grafischen Aufgaben, hier werden Informationen gesammelt und zielgerichtet weiterverteilt. Unsere Anwendung erhält nun diese Information und setzt diese in einen GDI-Zeichenbefehl um. Dieser landet in der GDI und damit wiederum bei win32k.sys. Folgen wir einfach den lila Pfeilen.

Unter XP ist die alte 2D-Welt noch in Ordnung

Unter XP ist die alte 2D-Welt also noch in Ordnung. Anhand dieses einfachen Schemas ist auch ersichtlich, warum die 2D-Hardarebeschleunigung recht einfach umzusetzen ist, vorausgesetzt natürlich, die eingesetzte Grafikkarte verfügt auch über die entsprechenden Fähigkeiten. Der blaue Pfeil kennzeichnet übrigens die Rückinformation an das Programm, damit dieses weiß, dass sich Fensterinhalte geändert haben (z.B. wenn ein anderes Fenster nicht mehr Teile verdeckt) und dass der Inhalt vom Programm neu gezeichnet werden muss.

Bis einschließlich der Radeon HD1xxx Serie bei ATI und der Geforce 7xxx bei Nvidia besitzen auch alle Consumer-Grafikkarten eine separate 2-Einheit. Diese fiel mit der Einführung der DX10-Karten mit der Unified-Shader-Architektur bei beiden Herstellern weg.

Vista: CPU statt GPU – Puffer statt Direktlieferung

Unter Windows Vista wurde, wie bereits im ersten Teil erklärt, ein völlig neuer Weg beschritten. Um das Ganze besser zu verstehen, müssen wir es weiter vereinfachen. Bis zur GDI erfolgt das Zeichnen analog zu XP, die Aufgabe der win32k.sys, die Fenster zu verwalten, übernimmt aber nun der DWM (Dynamic Window Manager).  Hinzu kommt, dass ab Windows Vista die Fensterverwaltung  komplett über Direct3D geschieht. Das Fenster jeder Anwendung wird deshalb im Texturspeicher der Grafikkarte als 3D-Textur abgelegt. Eigentlich eine praktische Angelegenheit, aber das GDI kann diese Inhalte nicht mehr direkt ansprechen. Die Kommunikationskette scheint demnach unterbrochen.  An dieser Stelle kommt nun die bereits erwähnte doppelte Pufferung ins Spiel.

Speicherverschwendung und Umwege führen zur subjektiv empfundenen Trägheit von Vista

Speicherverschwendung und Umwege führen zur subjektiv empfundenen Trägheit von Vista

Was passiert genau? Betrachten wir die roten Pfeile. An Stelle des  eigentlichen Grafiktreibers (unter XP der DDI Display Treiber) wird der neue CDD (Canonical Display Driver) angesprochen, der grafikkartenunabhängig ein direkter Bestandteil von Vista ist. Während sich der endgültige Fensterinhalt bereits als Textur im Speicher der Grafikkarte befindet, muss für jedes Fenster nun zusätzlich ein äquivalenter Puffer im Systemspeicher angelegt werden (Fensterbreite x Fensterhöhe x 4 Byte für die Farbe). Im Systemspeicherpuffer wird die spätere Fensteransicht zunächst als Bitmap nach der herkömmlichen Methode erzeugt und erst danach als Endprodukt in den Videospeicher als Textur übernommen.  Der DWM wiederum verwaltet die Fenster und erstellt die Inhalte über Direct3D. Der DWM erhält auch die Informationen, wenn sich in einem Fenster ein Bereich geändert hat und dieses damit neu zu zeichnen ist (blauer Pfeil). In diesem Moment kopiert der DWM die Inhalte des Systemspeichers in den Videospeicher und lässt das Fenster über Dirct3D (D3D) neu rendern. Das Programm selbst muss (im Gegensatz zu der Lösung unter XP) die Inhalte nicht mehr erneut zeichnen.

Wir stellen sehr schnell fest, dass bei diesen Umwegen keine Hardwarebeschleunigung mehr möglich ist und dass auch das direkte Zeichnen im Vergleich zu XP erheblich an Performance einbüßt. Dies alles äußert sich dann in den bekannten Symptomen, anhand derer man Vista schnell eine gewisse Trägheit und vor allem hohen Speicherbedarf unterstellt.

Windows 7: Hardwarebeschleunigung in homöopathischen Dosen

Wir hatten es ja bereits erwähnt, dass Windows 7 Teile der GDI-Befehle wieder per Hardwarebeschleunigung unterstützen lassen kann, solange WDDM 1.1-Treiber verwendet werden. Fehlen diese, so wie bei einigen älteren Intel-Grafiklösungen, verhält sich Windows 7 wieder so ähnlich wie Vista. Was bedeutet das für uns nun genau?  Wichtig ist, dass nicht mehr zwangsläufig für jedes Fenster ein doppelter Puffer angelegt werden muss. An die Stelle des Systemspeichers tritt der sogenannte „non local memory“ (auch „aperture space“ genannt). Hierbei handelt es sich um einen bestimmten Bereich des normalen Systemspeichers, auf den auch die Grafikkarte direkt zugreifen kann. Ändert sich nun ein Fensterbereich durch Verschieben oder Einblenden, wird der Inhalt dieses Bereiches einfach und ohne Umwege in den Videospeicher der Grafikkarte kopiert.

Im Vergleich zu XP können  jedoch nur wenige GDI-Befehle auf die Unterstützung durch die GPU hoffen:  Das Rendern von Text, ColorFill, BitBlt mit den Standard-ROPS, AlphaBlend, TransparentBlt und StretchBlt. Kurzum für Nicht-Insider: Das Ausgeben von Text, die Vollflächenfüllung mit einfachen Farben, das Kopieren von Bildinhalten und Transparenzen. Während das  Zeichnen von geometrischen Figuren überhaupt nicht unterstützt wird, können das Kopieren von Bildinhalten und die Füllung sogar direkt am „aperture space“  vorbeigeschleust und direkt ausgegeben werden.

Zwischenfazit

Windows 7 verringert den Speicherbedarf durch die Abschaffung der doppelten Pufferung. Selbst Vista profitiert im Nachhinein vom neuen Treibermodell. So ist die Hardwarebeschleunigung seit dem Plattformupdate (mit dem auch DirectX11 Einzug hielt) analog zu Windows 7 wieder möglich. Der Nachteil liegt jedoch in der Komplexität und den möglichen Treiberproblemen. Diesen wiederum waren wir ja auf der Spur.

 

Kommentar

Lade neue Kommentare

B
Besterino

Urgestein

6,709 Kommentare 3,310 Likes

Erinnere mich sogar noch dunkel an das Thema damals. Heutzutage aber reicht mir irgendwie selbst eine AST-BMC-Grafik um nicht negativ im Desktop-Betrieb aufzufallen… ;)

Antwort 1 Like

Igor Wallossek

1

10,179 Kommentare 18,761 Likes

Seitdem hassen die mich :D

Antwort 2 Likes

B
Besterino

Urgestein

6,709 Kommentare 3,310 Likes

Kleingeister halt. ;)

Antwort Gefällt mir

Igor Wallossek

1

10,179 Kommentare 18,761 Likes

Oder so. Dafür ist mittlerweile die AMD-Implementierung besser als bei NV. Hat auch was Positives :D

Antwort Gefällt mir

h
hoppel

Neuling

8 Kommentare 1 Likes

An den Artikel konnte ich mich auch noch erinnern, die Zeit rennt schneller als man möchte :eek:

Antwort Gefällt mir

FfFCMAD

Urgestein

668 Kommentare 173 Likes

Ich finde es ehrlich gesagt immer noch peinlich. Ich weiß noch wie meine GTX480 bei 2D (Obwohl in 3D ein echtes Monster) vor sich hin kroch und meine uralte Voodoo 3 3500 in nem Pentium 3 Kreise und das Ding rannte. Die 2D Performance war teilweise echt mies. Aber es hat sich mit der Zeit zum Glueck gebessert. Ideal finde ich es aber immer noch nicht. Ich bin ein Fan davon, soetwas von der CPU fern zu halten und in irgendeiner Form abzuladen. Nicht nur 2D-Grafik. Auch beim Sound.

Antwort Gefällt mir

D
Deridex

Urgestein

2,212 Kommentare 846 Likes

So ändern sich die Zeiten. Dennoch habe ich den Eindruck, dass uns GDI noch lange bleiben wird.

Antwort Gefällt mir

Danke für die Spende



Du fandest, der Beitrag war interessant und möchtest uns unterstützen? Klasse!

Hier erfährst Du, wie: Hier spenden.

Hier kannst Du per PayPal spenden.

About the author

Igor Wallossek

Chefredakteur und Namensgeber von igor'sLAB als inhaltlichem Nachfolger von Tom's Hardware Deutschland, deren Lizenz im Juni 2019 zurückgegeben wurde, um den qualitativen Ansprüchen der Webinhalte und Herausforderungen der neuen Medien wie z.B. YouTube mit einem eigenen Kanal besser gerecht werden zu können.

Computer-Nerd seit 1983, Audio-Freak seit 1979 und seit über 50 Jahren so ziemlich offen für alles, was einen Stecker oder einen Akku hat.

Folge Igor auf:
YouTube   Facebook    Instagram Twitter

Werbung

Werbung