Grafikkarten Grundlagenartikel Testberichte VGA

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

Vor über 13 Jahren habe ich mich mit der Abschaffung der 2D-Hardwarebeschleunigung unter Windows Vista und XP beschäftigt und mit beim Treiber-Team von (damals noch) ATI in Toronto keine Freunde fürs Leben gemacht. Das Gute an den beiden Artikeln, die damals einschlugen wie eine Bombe ist, dass sowohl AMD als auch NVIDIA damals anfingen, hektisch zu reagieren und ziemlich schnell auch Abhilfe geschaffen haben. Schlecht ist, dass so Manches bis heute noch nicht wieder so performant gelöst werden konnte, wie noch unter Windows XP und den Grafikkarten mit spezialisierten 2D-Funktionen. heute kommt also der Teil Zwei der Artikelreihe.

ATI im Rückwärtsgang? 2D-Leistung bleibt auf der Strecke | Retro

Auszüge aus dem Originalartikel vom 20.01.2020

Beschäftigen wir uns heute verstärkt mit der Relevanz des GDI und erklären die 2D-Grafikausgabe im Detail. Um die Ergebnisse richtig einordnen zu können, sind natürlich einige theoretische Grundkenntnisse nötig. Wir haben deshalb die Thematik etwas weiter vertieft, wobei wir auch diesmal die Darstellung stark vereinfacht haben, so dass es einfach und verständlich bleibt. Natürlich bleiben dadurch technische Finessen auf der Strecke, aber die Verständlichkeit für die breite Leserschaft hat Vorrang.

 

Direct2D oder GDI? Oder sogar beides?

 

Warum testen wir in Zeiten von Windows 7 und Direct2D noch das GDI?

Man könnte meinen, spätestens seit der Einführung von DirectX10-fähigen Grafikkarten und Vista wäre das alte GDI für die Ausgabe der 2D-Zeicheninhalte überflüssig. Mit WPF (Windows Presentation Foundation) und damit auch Direct2D steht auf diesen Systemen der von Microsoft propagierte Nachfolger seit längerer Zeit schon in den Startlöchern. Allerdings gibt es auch heute noch eine Menge Argumente und Gründe, warum das GDI (Graphics Device Interface) immer noch eine nicht zu bestreitende Bedeutung besitzt und man deshalb einen Teil des Augenmerkes auch auf diesen Bereich legen sollte.

  • Das GDI unterstützt auch ältere Grafikkarten, Direct2D benötigt zumindest eine Grafikkarte mit DirectX10-Unterstützung
  • Das GDI gibt es, seit es Windows gibt, Direct2D läuft erst ab Vista und Windows 7
  • Alle Programme, die zu XP (und älter) kompatibel sind nutzen das GDI

Viele Softwarehersteller schrecken bis heute vor der Umstellung zurück, denn man greift bei unterschiedlichen Programmen oft genug auf die gleichen Bibliotheken zu, die einmal fertig erstellt wurden. Eine Umstellung dieser Module hätte auch eine Anpassung aller betroffenen Programme zur Folge. Da die Leistungssteigerung in vielen Fällen kaum subjektiv spürbar ist, verdrängen Softwarehersteller diese Umstellung gern aus ökonomischen Gründen. Wenn man zum Beispiel mit verfolgt, wie lange allein die Implementierung von Direct2D in Teile des Mozilla Firefox dauert, wird man die Industrie verstehen, wenn sie diese Umstellung nur sehr langsam vollzieht. Darüber hinaus wäre es für viele Firmen aus betriebswirtschaftlichen Gründen keine Option, XP-Kunden als Zielgruppe komplett auszuschließen. Beides zu implementieren würde sich dann auf den Preis niederschlagen, den keiner mehr zu zahlen bereit wäre. Das GDI wird uns allein aus diesen Gründen sicher noch so lange erhalten bleiben, wie XP eine nennenswerte Rolle im Endanwenderbereich spielt.

Direct2D als Teil der Direct3D-Ausgabe (D3D)

Doch es gibt auch technische Gründe. Der bestehende und oft sehr ausgereifte Code ist nicht wirklich 1:1 portierbar. Direct2D erzeugt zudem einen nicht zu verachtenden Overhead und kann eigentlich nichts, was Direct3D auch könnte. Und wo man auf Direct3D lieber verzichtet, wird man die Gründe sicher gut abgewogen haben. Das GDI kann zudem unabhängig vom Ausgabegerät (Monitor, Drucker) genutzt werden. Eine einzige Routine kann so innerhalb eines Programmes gleichzeitig zum Anzeigen und zum Drucken aufgerufen werden, der Code und der Programmieraufwand reduzieren sich dadurch auf die Hälfte und auch die Fehlerwahrscheinlichkeit sinkt.  Viele der vorhandenen preiswerteren Drucker sind zudem GDI-Drucker, so dass  dieser Bestandteil des Betriebssystems  vorerst wohl auch weiter erhalten werden wird, zumal es immer noch genügend  Druckertreiber gibt, die nur das GDI unterstützen.  

Der Sinn des Ganzen

Wir selbst sehen die Umsetzung von WPF/Direct2D natürlich als von Microsoft forcierten und wohl sicher auch unumkehrbaren technischen Fortschritt, möchten aber bei aller Euphorie über neue Techniken mit diesem Artikel noch einmal nachdrücklich an die Gegenwart erinnern.  Es gibt einschließlich Windows XP noch so viele technische Altlasten, dass man sich nicht nur nach vorn orientieren kann, ohne die aktuelle Lage zu berücksichtigen. Dass so etwas schnell schief gehen kann, erkennt man am Beispiel der XP-Phobie der 780G/785G-Onboardgrafik wohl am besten.

 

Kommentar

Lade neue Kommentare

MechUnit

Mitglied

70 Kommentare 40 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

269 Kommentare 237 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 374 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,950 Kommentare 20,765 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,032 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,032 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

591 Kommentare 635 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,894 Kommentare 1,191 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,894 Kommentare 1,191 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

70 Kommentare 40 Likes

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

Antwort 1 Like

e
eastcoast_pete

Urgestein

1,894 Kommentare 1,191 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,950 Kommentare 20,765 Likes

AMD vor NV und Intel :)

APUs gehen, iGP bei Intel eher meh

Antwort 1 Like

e
eastcoast_pete

Urgestein

1,894 Kommentare 1,191 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,950 Kommentare 20,765 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