Grafikkarten Grundlagenartikel Testberichte VGA

2D-Leistung im Rückwärtsgang? Eine umfassende Analyse | Retro Teil 2 von 2

Unabhängig davon, wie Windows XP, Windows Vista oder Windows 7 den Umgang mit dem GDI handhaben, ist die Methodik beim Programmieren zunächst eigentlich immer gleich. Mit den Unterschieden, wie diese Inhalte von der Grafikkarte verarbeitet werden, haben wir uns im voranstehenden Kapitel bereits bekannt gemacht. Wie die Inhalte jedoch zunächst erst einmal erstellt werden, dass erfahren Sie jetzt.

Zeichenbefehle

Egal, was wir gern über das GDI in 2D ausgeben möchten, alles basiert auf einer festgelegten Struktur von standardisierten Zeichenbefehlen. Im Detail würde es sicher den Rahmen dieses Artikels sprengen, deshalb nur so viel: egal ob Linien, Kurven, Polygone, Rechtecke, Ellipsen oder welche geometrische Form und deren Eigenschaften (Füllung, Linienstärke und –farbe usw.) auch immer – es gibt für jede dieser Aufgaben einen genau definierten Befehl. Dieser wird vom aktuellen Anwendungsprogramm zusammen mit den nötigen Parametern an das GDI übergeben.  Auf den Rest hat die jeweilige Anwendung dann keinen Einfluss mehr.

Direktes und gepuffertes Zeichnen: der Ameisen-Elefant-Vergleich

Im Prinzip ist es egal, ob nun eine Million Ameisen jeweils ein Sandkorn 100 m weit von A nach B trägt, oder ob die Ameisen diese Sandkörner in einen 50 cm entfernten Sammelcontainer befördern, den dann ein einzelner Elefant zum Ziel zieht. Bei beiden Vorgängen wird das angestrebte Ziel erreicht.  Betrachten wir nun die Unterschiede. Die Elefanten-Methode ist schneller und effizienter und es wird weniger Verkehr erzeugt. Eine Million Ameisen zu koordinieren ist wesentlich aufwändiger, als einmalig einen Container zu transportieren und dann am Ziel alles auf einmal auszukippen. Außerdem benötigt es auch erheblich mehr Zeit. Der Vorteil der Ameisen-Methode ist, dass man keine weiteren schweren Hilfsmittel (Container = Puffer) benötigt und dass sie im Einzelfall, benötigt man nur einige wenige Sandkörner, sogar effizienter und flexibler sein kann. Es kommt also immer auf die Aufgabenstellung und die Menge an. Betrachten wir deshalb nun analog zu diesen Beispielen das Zeichnen über das GDI an ein Ausgabegerät (Monitor).

Direktes Zeichnen nach der Ameisen-MethodeDirektes Zeichnen nach der Ameisen-Methode: Langsam und nur in bestimmten Fällen optimal, denn jedes einzelne Objekt wird auch einzeln auf dem Ausgabebereich gezeichnet, was Zeit kostet.

 

Indirektes Zeichnen nach der Elefanten-Methode
Indirektes Zeichnen nach der Elefanten-Methode: Ein Puffer sammelt zunächst unsichtbar alle Inhalte, die sichtbare Ausgabe
erfolgt am Schluss für alle Objekte gemeinsam und nur einmal.

Wir sehen, dass sobald eine komplexere Zeichnung ausgegeben werden soll, die Methode über den Puffer wesentlich schneller ist. Der Nachteil, dass man zum Zwischenspeichern zunächst eine sogenannte geräteunabhängige Bitmap (DIB) benötigt, die die selbe Größe wie der sichtbare Ausgabebereich (z.B. Vollbild oder Zeichenfläche eines CAD-Programms) besitzt, wird durch den Geschwindigkeitsvorteil schnell wieder kompensiert. Auf der anderen Seite wäre es hingegen müßig, wegen jeder kleinen Änderung den kompletten Puffer neu zu schreiben. Untersuchen wir nun einen Fall, in denen sich eine direkte Ausgabe geradezu anbietet.

Echtzeit-Ausgabe beim Erstellen und Editieren von Zeichenobjekten

Wenn man zum Beispiel mit der Maus in einem Zeichenprogramm ein geometrisches Objekt (z.B. ein Polygon) auf der Zeichenfläche in Echtzeit von Position A nach Position B verschieben möchte, dann wäre es sinnlos, für jede der Zwischenpositionen, an denen sich die Maus gerade befindet, alles neu zu zeichnen, den Puffer zu füllen und anschließend auszugeben. Hier bedient man sich eines Kniffes. Mit Hilfe des ROP (Raster Operator) kann man mit XOR (exklusives OR) folgendermaßen vorgehen.

Überlagert man zwei identische Objekte mit XOR, so heben sie sich aufÜberlagert man zwei identische Objekte mit XOR, so heben sie sich auf. Das Verschieben eines Objektes durch direktes Zeichnen auf dem Ausgabebereich mit Hilfe des Raster-Operators (XOR) ist auch so eine Sache:

Verschieben eines Objektes durch direktes Zeichnen auf dem Ausgabebereich mit Hilfe des Raster-Operators (XOR)

Man zeichnet das zu verschiebende Objekt zunächst mit XOR an der alten Stelle noch einmal direkt auf dem Ausgabegerät. Dadurch „verschwindet“ dieses Objekt auf der Ausgabefläche wie von Geisterhand. Nun zeichnet man das Objekt direkt und ohne XOR an die neue Position, so dass es dort wieder sichtbar wird. Das wiederholt man bei jeder einzelnen Mausbewegung erneut, so dass innerhalb einer Sekunde durchaus 10-50 Positionsveränderungen dargestellt werden können. Das träge Auge nimmt dies als ruckelfreien und fließenden Vorgang ohne Flimmern wahr. Erst am Schluss wird der Puffer komplett neu gefüllt und ausgegeben. Diese Methode des nicht beständigen, direkten Zeichnens auf ein Device nennt man auch „floating drawing“. Wir merken uns diesen Vorgang, denn wir werden im nächsten Abschnitt nochmals darauf eingehen müssen, wenn es um die Symptome im 2D-Verhalten der HD5xxx geht.

Ein weiteres Aufgabenfeld ist die Darstellung von sogenannten „floating objects“.  Hierunter verstehen wir z.B. alle Markierungspunkte, die je nach ausgewähltem Beabeitungsmodus als Zeichen- und Orientierungshilfe dienen und deren Anzeige, falls es sich um eine größere Anzahl handelt, durchaus auch problematisch werden kann. Diese Objekte sind kein fester Bestandteil der Zeichnung und werden von fast keinem Programm gepuffert.

Rückschlüsse:

Betrachten wir das eben Gelesene mit den einzelnen Ablaufschemata im vorigen Kapitel, dann stellen wir fest, dass die 2D GDI-Ausgabe unter XP  hardwarebeschleunigt und ohne Umwege erfolgen kann. Unter Vista ist es fast egal, ob wir einen eigenen Puffer verwenden oder jeden Befehl direkt ans Ausgabegerät senden – das gesamte Fenster wird sowieso noch einmal zwischengepuffert. Unter Windows 7 mit WDDM 1.1-Treibern entfällt der zweite Puffer und es werden nur noch die Änderungen eingeblendet.  Das direkte Zeichen ist etwas langsamer als unter WDDM 1.0 und kämpft mit den gleichen Ursachen wie unter Vista. Die zusätzlich wieder verfügbare Hardwarebeschleunigung für GDI-Inhalte ist leider sehr eingeschränkt. Dies alles müssen wir berücksichtigen, wenn wir an späterer Stelle über den Benchmark sprechen und die Ergebnisse richtig bewerten wollen.

 

Kommentar

Lade neue Kommentare

MechUnit

Mitglied

66 Kommentare 38 Likes

Interessanter Hintergundbericht.

Damals (Windows 1.0-3.00) war eben das Amiga OS aufgrund des Systems mit seinen Co-Prozessoren (für 2D hauptsächlich Blitter) und echten überlappenden Fenstern besser, von der schon damals unerschütterlichen Stabilität einmal abgesehen.

Das Mac OS setzte nochmal einen drauf. Auch da gab es ja fast von Anfang an quasi integrierte Hardwarebschleunigung für 2D-Anwendungen.

Dann gab es ja noch SGI-OS - ein Traum.

Präemptives Multitasking und schnelles, flüssiges Arbeiten war man also hier auf den 3 o.g. Systemen schon gewohnt. Ok, auf A500 & A1000 war aufgrund des langsameren Motorola 68000-Prozessors und 512kb-, bzw. 1 MB Chip-RAM und ohne HDD mit Diskettenzugriff die Lade- und Arbeitsgeschwindigkeit etwas langsamer. Dennoch war das ein besseres Gefühl und komfortabler als noch mit Windows 1.0, geschweige denn DOS - dank Blitter und Copper mit nicht 100 dazwischenfunkenden Treibern und Schnittstellen. Die im System fest integrierte Hardware war eben fest im OS integriert. Angebundene Hardware und deren Treiber wurden "hinten dran" geschoben. Reflections, Video Toaster, Cinema 4D oder Lightwave (die beiden letztgenannten dann schon auf AGA-Maschinen aka A4000, später mit Power PC u.a. in Verbindung mit Silicon Graphics) liefen wie Butter. 2,5D-Layer und deren Beschleunigung spielten da aber auch noch keine Rolle.

Das war aber auch ein Vorteil der damaligen geschlossenen Systeme mit aufs Leib zugeschnittenen Betriebssystemen. Der PC war ja offen und es musste ja schon damals auf unterschiedlichen Systemen das OS möglichst performant und stabil laufen. Damit war (und ist) ein PC nicht nur von der dedizierten, modularen Hardware abhängig, sondern auch über seine Schnittstellen und Treiber. Wenn dann noch die 2D-Unterstützung schlecht oder gar nicht integriert ist (schlimmstenfalls noch auf Hardware-, OS-, Schnittstellen- und Treiberebene) fehlt, ist das für flüssiges Arbeiten im Betriebssystem ein Desaster. Das merkte man sogar später tw. in Windows NT oder 2000 auf professionellen Maschinen. Es stockte halt mal oder es gab "Denkpausen".

Ein gutes Beispiel hierfür waren damals auch Emulatoren. Man merkte direkt, wenn auf Hardwareebene einfach die 2D-Beschleunigung fehlte und die CPU dann mehr schuften musste.

Antwort 2 Likes

Klicke zum Ausklappem
Lagavulin

Veteran

229 Kommentare 187 Likes

Vielen Dank für den interessanten Blick zurück in die 2010er Jahre. Habe ich mit großem Interesse gelesen, weil ich mich damals noch gar nicht mit PC-Technik beschäftigt habe. Spannt man einen zeitlichen Bogen von ATI bis zum 12VHPWR, dann ist Igor‘sLab für mich wirklich so etwas wie „CSI Chemnitz“ im PC-Bereich.

Antwort 1 Like

F
Furda

Urgestein

663 Kommentare 371 Likes

Irgendwo in dieser Zeit da, wohl noch unter WinXP, hatte ich noch einer der letzten Karten von ATI mit AGP Schnittstelle in Betrieb, als der endgültige Wechsel zu PCI vollzogen geworden war.

Der Artikel hat einige Trigger, bin mal auf den 2. Teil gespannt.

Auf alle Fälle, die Einleitung hier birgt für mich schon jetzt das grösste Ausrufezeichen, nämlich, dass man den Finger in die Wunde drücken muss, um eine Änderung/Verbesserung zu erwirken. Damals schon so und heute immer noch brandaktuell. Da hatte ATI offenbar, wie auch alle anderen immer, negativ darauf reagiert, anstatt einsichtig und konstruktiv sein zu wollen. Von ATIs Treiber-Kultur hat wohl bis heute ein Teil bei AMD überlebt.

Antwort 1 Like

Igor Wallossek

1

10,227 Kommentare 18,929 Likes

Das missgünstige Treiber Team firmiert heute immer noch unter ATI in Toronto und es sind die gleichen Leute, die heute alles verdongelt haben, weil sie das MorePowerTool nicht wollen. Das geht schon seit Jahren so :D

Antwort 4 Likes

Derfnam

Urgestein

7,517 Kommentare 2,029 Likes

Toronto Trittchen - guten Feinden gibt man ein Trittchen. Oder 2.
Wobei ich Ati & the Vandalers mit 'Nowhere Toronto' bevorzuge.

Die damaligen Kommentare unter bzw zu den Artikeln läs ich zu gern nochmal.

Antwort Gefällt mir

Derfnam

Urgestein

7,517 Kommentare 2,029 Likes

Alles gut und schön, @Igor Wallossek, aber ich wollte schon ein wenig Wehmut fühlen wegen der alten Köppe.

Antwort Gefällt mir

C
ChaosKopp

Urgestein

551 Kommentare 561 Likes

Ich erinnere mich noch gut an die zugrunde liegenden Artikel und die Emsigkeit, die Du damals ausgelöst hast

Auch wenn die Treiber-Truppe Dich damals hasste, hast Du das Produkt selbst massiv vorangetrieben.

Eigentlich wäre Dankbarkeit angemessen gewesen.

Antwort Gefällt mir

e
eastcoast_pete

Urgestein

1,507 Kommentare 852 Likes

Ja, wenn man darauf hinweist, daß der König nackt dasteht oder der tolle GPU Treiber für die neueste Karte kaum 2D packt, macht man sich schnell unbeliebt. Auch wenn man damit, so wie hier @Igor Wallossek , ATI einen großen Gefallen hattest, denn die Käufer finden solch unterirdische Leistung gar nicht gut. Wie heißt es so schön im Englischen: " No good deed goes unpunished". ATI, anstatt sich zu schämen und für den Hinweis zu danken, wurde ärgerlich und nachtragend.

Antwort Gefällt mir

e
eastcoast_pete

Urgestein

1,507 Kommentare 852 Likes

Der Toaster auf den großen Amigas waren ja aus gutem Grund jahrelang das Kit der Wahl bei frühen CGI Geschichten. SGI Workstations waren klar besser, aber wer hatte schon soviel Geld? Die waren nämlich richtig teuer, für das Geld konnte man schon ein sehr schönes Auto (Oberklasse, keinen Golf 😀) kaufen .

Antwort 1 Like

MechUnit

Mitglied

66 Kommentare 38 Likes

Allerdings - das waren Preise jenseits von gut und böse :D

Antwort 1 Like

e
eastcoast_pete

Urgestein

1,507 Kommentare 852 Likes

Waren (und sind) sehr gute Hintergrund Artikel, danke @Igor Wallossek für das Encore! Und jetzt ein paar Fragen zum Stand der Dinge 2023: wie sieht es denn heutzutage mit Unterstützung von 2D und 2.5D Grafik aus? Sind die iGPUs hier eigentlich immer noch gleichauf (oder besser?) als viele dGPUs, und gibt's hier Unterschiede zwischen Intel iGPUs und den AMD APUs?

Antwort Gefällt mir

Igor Wallossek

1

10,227 Kommentare 18,929 Likes

AMD vor NV und Intel :)

APUs gehen, iGP bei Intel eher meh

Antwort 1 Like

e
eastcoast_pete

Urgestein

1,507 Kommentare 852 Likes

Danke! Auch und gerade wenn man doch einiges machen will, das nach wie vor 2 bzw 2.5D ist; vor allem wenn mehrere UHD Monitore befeuert werden sollen. Interessant, daß AMD aus dem Debakel damals gelernt hat, auch wenn Toronto immer noch schmollt 😁

Antwort 1 Like

P
Postguru

Mitglied

39 Kommentare 7 Likes

Und heute mit einer 6900XT unter Win10
Direct drawing to visible device:
BENCHMARK: DIB-BUFFER AND BLIT

Text: 23245 chars/sec
Line: 28631 lines/sec
Polygon: 12435 polygons/sec
Rectangle: 3229 rects/sec
Arc/Ellipse: 15193 ellipses/sec
Blitting: 14961 operations/sec
Stretching: 1107 operations/sec
Splines/Bézier: 17800 splines/sec
Score: 201

DIB Buffering:
BENCHMARK: DIB-BUFFER AND BLIT

Text: 60096 chars/sec
Line: 151668 lines/sec
Polygon: 631579 polygons/sec
Rectangle: 5491 rects/sec
Arc/Ellipse: 347222 ellipses/sec
Blitting: 58207 operations/sec
Stretching: 7123 operations/sec
Splines/Bézier: 70822 splines/sec
Score: 4510

scheint einiges besser zu laufen .. jedenfalls gepuffert ;)

Antwort Gefällt mir

Igor Wallossek

1

10,227 Kommentare 18,929 Likes

DIB geht direkt in den Speicher, Direct Draw jeder einzelne Pups durch die Renderpipeline.

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