Notiz DirectX 8.0: Vor 20 Jahren begann das Zeitalter der Shader

SVΞN

Redakteur a.D.
Registriert
Juni 2007
Beiträge
22.962
Am 9. November 2000 präsentierte Microsoft seine neue Grafik-API DirectX 8.0, welche erstmals programmierbare Shader ermöglichen sollte. Gemeinsam mit den kurz darauf folgenden Grafikkarten ermöglichte die überarbeitete Grafikschnittstelle bis dahin ungesehene Effekte in Spielen. Pixel- und Vertex-Shader kamen groß in Mode.

Zur Notiz: DirectX 8.0: Vor 20 Jahren begann das Zeitalter der Shader
 
  • Gefällt mir
Reaktionen: Sennox, flo.murr, Digibyte und 18 andere
War nicht DirectX 8 nicht auch das letzte für Win 98f(SE)?
Man ist das lange her. Bei jeder Installation von Spielen wurde immer gefragt ob DirectX 8.1b installiert werden sollte ;-)
 
  • Gefällt mir
Reaktionen: Sennox, flo.murr, r!c0 und 7 andere
DirectX 8.0a gabs noch ein letztes Update für Windows 95 anno 2001, muss man sich vorstellen.



Auch damals gab es DirectX 8.1 nur für Windows XP um die Plattform zu pushen.



DirectX 9.0c war die letzte Version für Windows 98 aus dem Jahr 2004.
9c lief auf allen Windows Versionen ab 98 aufwärts



Direct X 11 ist auch bald Retro ist aus dem Jahr 2009 und wir nutzen es immer noch


Version 12 schimmelt ja vor sich hin
 
  • Gefällt mir
Reaktionen: Sennox, gencman, Marflowah und 11 andere
habe mir damals eine Geforce 3 von Creative gekauft die hießen 3D Blaster...man ist das lange her.
 
  • Gefällt mir
Reaktionen: Sennox
konkretor schrieb:
Version 12 schimmelt ja vor sich hin
Soweit ich verstehe, müssen sich da die Entwickler selber um mehr kümmern, dass die GPU vernünftig/performant mit deinem Code umgeht. (Habe von 3D Programmierung jetzt nicht viel Ahnung)

Wenn das so ist, wird es wohl eh immer zwei versch. APIs geben, eine bei der die Entwickler direkten Zugriff auf die darunter liegende Hardware haben und eine die, die kompliziertesten Sachen weiterhin für den Entwickler schon löst, wenn auch nicht in allen Fällen die beste Leistung für den Anwendungsfall bringt.
 
Wie oft habe ich mit meiner damaligen Geforce2 MX im 3DMark 2001 SE sehen müssen, dass einige der Tests nicht ausgeführt werden konnten, weil diese keine Shader unterstützte. Bin erst mit einer GeforceFX 5200 Ultra zu Shadern gekommen - für mehr reichte das angesparte Taschengeld nicht aus. :D
 
  • Gefällt mir
Reaktionen: Sennox, gencman, Mcr-King und eine weitere Person
@caruniom Diese Low-Level APIs (DX12, Vulkan) haben halt auch den Vorteil, dass man da sehr viel hinsichtlich Performance-Optimierung selbst in der Hand hat. Bei High-Level-APIs geht man halt immer den Kompromiss ein zwischen "Bequem zu verwenden" und "nicht maximal mögliche Performance".
Und den Renderpfad für DX12 oder Vulkan programmieren die Studios ja auch nur 1x für ihre Engine und nutzen die dann in mehreren Spielen. Oder als Indie nutzt man halt UnrealEngine oder Unity3D, die die Arbeit dann schon gemacht haben.
 
  • Gefällt mir
Reaktionen: Xood
Mafia 1 war DX 8.0 :daumen:
ach ja deswegen spiele ich diese olle <DX 8.0 Games nicht, da wird mir nach einigen Stunden schwindelig 🤢
Zum Glück kommen die alten Games als Remastered raus.
 
War eine tolle Zeit. Da hab ich mir den ersten PC selbst gebaut. P3 1.000 (Coppermine, Sockel 370) und eine Gainward GeForce 3. Die GFX hat mich knapp 800 DM gekostet. Man war richtig fasziniert von 3dmark 01/se.
Dann noch die ersten OC Versuche;) Herrlich, mit dem richtigen RAM, direkt über FSB und das hatte schon lustige Auswirkungen^^
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Piranha771, fox40phil, Christi und eine weitere Person
ich war damals noch mit der Geforce2MX400 unterwegs :D Stattliche 293MHz GPU-Takt hatte ich mit Übertaktung rausholen können.

Laut Wikipedia ist DX 8.0 allerdings erst am 12. November veröffentlicht worden. War das am 9. schon der richtige Termin oder ist CB 3 Tage zu früh mit der News dran?
 
  • Gefällt mir
Reaktionen: gencman, bettsi und Piranha771
seit voodoo 2 hatte ich danach sogut wie jede geneeration an grakas.. lang is her :)

die benchmark tests waren der hit.
 
konkretor schrieb:
Direct X 11 ist auch bald Retro ist aus dem Jahr 2009 und wir nutzen es immer noch.
Was aber auch daran liegt, dass DX11 zum Teil einfach ein anderes »Konzept« verfolgt, als DX12.

konkretor schrieb:
Version 12 schimmelt ja vor sich hin
Nicht wirklich, da bei neuen Engines sowohl Vulkan als auch DX12 immer Verwendung finden, da die Entwickler langsam endlich lernen ihre Engines besser zu parallelisieren.

mibbio schrieb:
Diese Low-Level APIs (DX12, Vulkan) haben halt auch den Vorteil, dass man da sehr viel hinsichtlich Performance-Optimierung selbst in der Hand hat.
Wobei man hier unterscheiden muss etwas. Die »Abstraktion« der GPU ist unter DX11 als auch DX12 als auch OpenGL oder Vulkan doch recht ähnlich.

Das »Optimierungspotential« von DX12 und Vulkan ist aufseiten der »GPU« eher überschaubar, sondern liegt primär im Bereich der CPU und damit verbunden bei den »Verwaltungsaufgaben«. Und gerade parallele Programmierung - hier speziell das Multithreading - ist selbst für erfahrene Entwickler durchaus eine ziemlich harte Nuss. Viele »Programmiersprachen« im Bereich Highlevel bieten heute dann Möglichkeiten mit asynchroner Ausführung und da dann auch Befehle, dass im eigentlichen Programm auf die Aufgaben warten kann, nur sind diese Konzepte recht starr und unflexibel, gut um Aufgaben passend zu verteilen.

Bei Engines benötigt man aber wesentlich mehr Kommunikation zwischen den Threads und da fängt halt das Problem wirklich an.

mibbio schrieb:
Bei High-Level-APIs geht man halt immer den Kompromiss ein zwischen "Bequem zu verwenden" und "nicht maximal mögliche Performance".
Nicht ganz, es hat nicht nur etwas mit Bequemlichkeit zu tun, sondern da spielen einige Aspekte mehr mit rein, darunter auch die Sicherheit.

Highlevel-APIs als auch Highlevel-Sprachen sollen möglichst viele der grundlegenden, immer wiederkehrenden und sich stark ähnelnden Aufgaben vom Entwickler abnehmen. Jeder Informatiker/Entwickler wird während seiner Ausbildung als auch dem Studium mit den Grundlagen der Ressourcenverwaltung konfrontiert, ebenso, wie man über eine Schnittstelle mit anderer Hardware kommuniziert und Steuerbefehle absetzt und Antworten auswertet.

Das sind alles eigentlich sehr simple Aufgaben, aber eben weil sie so einfach sind, passieren hier auch gerne mal die meisten Fehler, weil es mehr »fleiß« ist, als Spaß.

Und sowohl DX12 als auch Vulkan versuchen genau hier auch einen Kompromiss zu finden, in dem man in den wichtigen Bereichen mehr Freiheiten hat - mehr Threads beim Render - kein Main-Thread mehr - Möglichkeiten die Ressourcen der GPU flexibler zu verteilen - Compute, Graphic usw.

Gleichzeitig sollen aber kritische als auch einfache Aufgaben, die jedoch sehr fehleranfällig sind, vom Entwickler ferngehalten werden.

DX12 als auch Vulkan sind auch - wenn man mal alles anlegt, was »low level« aus macht - nicht wirklich eine Low-Level API, aber eben auch keine High-Level API, sondern bewegt sich dazwischen.
 
  • Gefällt mir
Reaktionen: Roi-Danton, floTTes und Colindo
Was war denn vor den Shadern?
 
  • Gefällt mir
Reaktionen: fox40phil
Hatte damals glaube ne Geforce 4 440MX dann irgendwann, die hatte dann keinen Pixelshader 3.0 oder so und konnte manche Games nicht wiedergeben... das war echt ärgerlich damals. Bei nem Kumpel mit ner Geforce 4 Ti ging das...
 
  • Gefällt mir
Reaktionen: gencman, metallica2006, greg86 und 5 andere
bigfudge13 schrieb:
Was war denn vor den Shadern?
Vorher haben die GPUs halt mit einem relativ festen "Regelwerk" die Berechnungen abgearbeitet. Einfach gesagt, hat die Spieleengine der Grafikkarte die nötigen 3D-Daten und zugehörigen Texturinformationen übergeben und hinten kam das fertige Bild raus. Da war eben auch jegliche Beleuchtung weitestgehend fix, weil man die vor der Berechnung fest vorgeben musste.
Mit Einführung der Shader konnte man dann einzelne Schritte der Berechnungen noch dynamisch beeinflussen. Zum Beispiel eben Reflektionen oder Beleuchtung mit Daten, die erst zur Laufzeit verfügbar sein (Positionen von bewegelichen Lichtquellen, NPCs und der Spielfigur). Oder halt auch das im Artikel erwähnte Wasser in Morrowind, weil man dazu Position & Blickwinkel der Spielerkamera braucht.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Roi-Danton, JohnVescoya und Porky Pig
Wisst ihr was das Beste ist? Im Test zur Geforce 3 hatte Computerbase damals deren hoher Stromverbrauch kritisiert:

Anscheinend scheint sich die neue Technik auch ordentlich auf den Stromverbrauch der GeForce 3 niederzuschlagen, da dieser mit 15W sehr hoch ist.

Ich lach mich kaputt, wenn ich da an die eben vorgestellte Geforce RTX 3700/3800/3900 denke.
 
  • Gefällt mir
Reaktionen: nille02, MR2007, Roi-Danton und 15 andere
Hatte eine 8500, und meine Güte war das ein Update.. Von dem Geschwindigkeitsboost träume ich immer noch..
 
  • Gefällt mir
Reaktionen: konkretor
  • Gefällt mir
Reaktionen: Hayda Ministral und kryzs
...und feste und unflexible getrennte Einheiten für Vertex und Pixel Shader .
 
  • Gefällt mir
Reaktionen: andi_sco
Zurück
Oben