PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Dx9->DX10 für "Dummies" erklärt?


Gast
2006-12-19, 12:01:05
Hi,
welche Unterschiede bestehen da im Wesentlichen ?
Bitte sowenig Details wie möglich, damit es auch für Unbedarfte wie mich verständlich ist. Weis gesrade was AA,AF, Bumpmapping oder so ist.

Thx

Spasstiger
2006-12-19, 12:08:46
Weniger Ballast, DX9 hat auch DX7 und DX8 mit drin, ist somit abwärtskompatibel. D3D10 trägt nicht die Altlasten mit sich rum, ist also nicht abwärtskompatibel. Der Verzicht auf die Altlasten soll bessere Performance bringen.

Außerdem kommen Geometrieshader hinzu. Pixelshader sind ja fürs Berechnen von Pixeln (exakter: Fragments) zuständig, Vertexshader können vorhandene Polygone verformen und verschieben. Geometrieshader sind dazu in der Lage, auch neue Polygone direkt auf der Grafikkarte zu erzeugen. Bisher war das Aufgabe der CPU.

Bei D3D10 werden Shadereinheiten außerdem unified behandelt, das heißt das zumindest softwareseitig Pixel-, Vertex- oder Geoshader nicht mehr explizit unterschieden werden. Nvidia und ATI haben dieses Konzept auch in Hardware umgesetzt, die Shadereinheiten sind universell einsetzbar.

mapel110
2006-12-19, 12:14:07
http://www.anandtech.com/video/showdoc.aspx?i=2870&p=4
Da gibts ne nette Übersicht.

Gast
2006-12-19, 12:21:33
http://www.anandtech.com/video/showdoc.aspx?i=2870&p=4
Da gibts ne nette Übersicht.

Mit der ein nicht-Eingeweihter nichts anfangen kann ;).

Coda
2006-12-19, 12:57:01
Bei D3D10 werden Shadereinheiten außerdem unified behandelt, das heißt das zumindest softwareseitig Pixel-, Vertex- oder Geoshader nicht mehr explizit unterschieden werden.

Selbstverständlich werden Pixel-, Geometrie- und Vertexshader getrennt behandelt in der API. Nur der Befehlssatz ist weitgehendst gleich (es gibt z.B. keine Screenspace-Derivate im Vertexshader und der Pixelshader kann keine Geometrie erzeugen ;))

Eigentlich muss für D3D10 gar nichts unified sein. Es ergibt nur sehr viel Sinn anhand der Anforderungen es in Hardware so zu machen.

Gast
2006-12-19, 13:09:39
Mit der ein nicht-Eingeweihter nichts anfangen kann ;).
Selbst ein Nichteingeweihter kann auf dieser Tabelle die Unterschiede sehen.

Ganz allgemein sieht man da nämlich: 1. Mehr Resourcen bezüglich alter Befehlssätze und 2. neue Befehlssätze

Feine Sache, oder?! :)

Gast
2006-12-19, 14:14:05
Mag ja sein, ok.

Sind dadurch ganz neue Effekte möglich geworden ?

Oder laufen dadurch bestehende Sachen (SM2, SM3) nur effizienter ab ?

Es gibt vielerorts vom MS Flightsimulator Screenshoots zum vergleichen,
ist da DX9 schlechter dargestellt worden als es ist ?

Gibt es Schatten in HW ?

Hab gehört Gemometriesachen welche normalerweise die CPU erledigt
kann jetzt auch die GPU machen, was heist das genau ?

Sir Silence
2006-12-19, 14:25:49
D3D10 trägt nicht die Altlasten mit sich rum, ist also nicht abwärtskompatibel.

d.h. man kann keine alten games mehr zocken?

Gast
2006-12-19, 14:25:55
Bei D3D10 werden Shadereinheiten außerdem unified behandelt, das heißt das zumindest softwareseitig Pixel-, Vertex- oder Geoshader nicht mehr explizit unterschieden werden. Nvidia und ATI haben dieses Konzept auch in Hardware umgesetzt, die Shadereinheiten sind universell einsetzbar.

natürlich werden die shadertypen voneinander unterschieden, sie können nur alle 3 mehr oder weniger das gleiche berechnen, weshalb es sinn macht sie in hardware unified auszuführen.

Gast
2006-12-19, 14:26:22
d.h. man kann keine alten games mehr zocken?

natürlich, dafür ist aber immer noch DX9 zuständig.

Gast
2006-12-19, 14:31:53
Sind dadurch ganz neue Effekte möglich geworden ?

Oder laufen dadurch bestehende Sachen (SM2, SM3) nur effizienter ab ?


in erster linie der geoshader erlaubt ein paar neue effekte, im großen und ganzen wäre mit SM3 das meiste auch irgendwie möglich, der aufwand für die hardware und den programmierer steigt aber ins unermessliche so dass es keinen sinn macht gewisse effekte in DX9 zu programmieren.


Es gibt vielerorts vom MS Flightsimulator Screenshoots zum vergleichen,
ist da DX9 schlechter dargestellt worden als es ist ?

nein, aber möglicherweise der DX10-shot besser als er ist. all diese "screenshots" sind designstudien die zeigen wie das ganze mal aussehen soll, in echtzeit existiert da noch nix.


Gibt es Schatten in HW ?

Hab gehört Gemometriesachen welche normalerweise die CPU erledigt
kann jetzt auch die GPU machen, was heist das genau ?

schatten gibt es schon lange in HW, was du aber wahrscheinlich meinst sind GPU-erzeugte shadow-volumes. diese sind mit dem geometry-shader möglich.

Sir Silence
2006-12-19, 14:47:19
natürlich, dafür ist aber immer noch DX9 zuständig.

:|

also hab ich dann dx9 und dx10 aufm rechner? oO

bzw. isses ja dann doch abwärtskompatibel

aths
2006-12-19, 14:51:54
Hi,
welche Unterschiede bestehen da im Wesentlichen ?
Bitte sowenig Details wie möglich, damit es auch für Unbedarfte wie mich verständlich ist. Weis gesrade was AA,AF, Bumpmapping oder so ist.Du kannst in einem Shader mehr Ressourcen nutzen: Mehr Texturen, mehr Konstanten, und so weiter. Außerdem dürfen die Shader-Programme länger sein. Es gibt auch eine Reihe neuer Datenformate. Ein wenig mehr Details dazu in einem bald erscheinendem Artikel.

Gast
2006-12-19, 14:54:51
:|

also hab ich dann dx9 und dx10 aufm rechner? oO

Man hat ja normalerweise auch mehrere .Net Frameworks auf dem Rechner (1.1,2.0, teilweise auch noch 3.0).
Festplattenplatz ist ja heute genug vorhanden und so braucht man sich um Kompatibilität keine Gedanken zu machen.
bzw. isses ja dann doch abwärtskompatibel
Nein. Es kann nur neben seinem Vorgänger benutzt werden.

Monger
2006-12-19, 15:02:22
Mag ja sein, ok.

Sind dadurch ganz neue Effekte möglich geworden ?


Der Geometry Shader ist schon eine recht dramatische Neuerung. Damit kann man echtes Displacement Mapping und zerstörbare Geometrie machen. Wenn du damit eine Hütte in die Luft sprengst, muss diese nicht mehr zwingend aus "Puzzleteilen" zusammengesetzt werden, sondern das Aufbrechen der Geometrie lässt sich in Echtzeit berechnen. Das geht so unter DirectX 9 definitiv noch nicht.

DerRob
2006-12-19, 15:03:23
also hab ich dann dx9 und dx10 aufm rechner? oO
ja

bzw. isses ja dann doch abwärtskompatibel
nein, es läuft parallel zueinander, so wie directx und opengl momentan.

opengl ist ja auch nicht abwärtskompatibel zu directx, oder umgekehrt ;)

Sir Silence
2006-12-19, 15:54:26
verstehe. :D

Black-Scorpion
2006-12-19, 16:01:14
:|

also hab ich dann dx9 und dx10 aufm rechner? oO

bzw. isses ja dann doch abwärtskompatibel
Wenn es abwärtskompatibel wäre, bräuchte man nicht extra DX9 installieren. ;)

Gast
2006-12-19, 16:32:01
Der Geometry Shader ist schon eine recht dramatische Neuerung. Damit kann man echtes Displacement Mapping und zerstörbare Geometrie machen. Wenn du damit eine Hütte in die Luft sprengst, muss diese nicht mehr zwingend aus "Puzzleteilen" zusammengesetzt werden, sondern das Aufbrechen der Geometrie lässt sich in Echtzeit berechnen. Das geht so unter DirectX 9 definitiv noch nicht.

doch, über die cpu ;)

Gast
2006-12-20, 11:49:45
Der Geometry Shader ist schon eine recht dramatische Neuerung. Damit kann man echtes Displacement Mapping und zerstörbare Geometrie machen. Wenn du damit eine Hütte in die Luft sprengst, muss diese nicht mehr zwingend aus "Puzzleteilen" zusammengesetzt werden, sondern das Aufbrechen der Geometrie lässt sich in Echtzeit berechnen. Das geht so unter DirectX 9 definitiv noch nicht.

Ihr Kiddies seit echt witzig. Sowas ging schon vor 10 Jahren, als man noch nicht jedes neue Feature zwingend auf der Graka haben mußte, um mal was neues zeigen zu können.

GBWolf
2006-12-20, 12:16:21
Ihr Kiddies seit echt witzig. Sowas ging schon vor 10 Jahren, als man noch nicht jedes neue Feature zwingend auf der Graka haben mußte, um mal was neues zeigen zu können.

ja in bahnbrechender Geschwindigkeit :redface:

Gast
2006-12-20, 12:17:11
verstehe. :D

Es ist dann DX9.0L

L = Longhorn = Vista

Gast
2006-12-20, 12:18:28
Ihr Kiddies seit echt witzig. Sowas ging schon vor 10 Jahren, als man noch nicht jedes neue Feature zwingend auf der Graka haben mußte, um mal was neues zeigen zu können.

Ja stimmt, aber damals hiess das noch Fotoalbum

Monger
2006-12-20, 12:28:07
doch, über die cpu ;)

Du kannst ALLES über einen Softwarerenderer darstellen. Die CPU ist nunmal universell, und kann prinzipiell beliebig komplexe logische Zusammenhänge herstellen. Du wirst NIE auf der Grafikkarte einen Effekt sehen, der vorher nicht schonmal mit der CPU zumindest getestet wurde. Allerdings wohl selten in Echtzeit...

Gast
2006-12-20, 12:38:48
Du kannst ALLES über einen Softwarerenderer darstellen. Die CPU ist nunmal universell, und kann prinzipiell beliebig komplexe logische Zusammenhänge herstellen. Du wirst NIE auf der Grafikkarte einen Effekt sehen, der vorher nicht schonmal mit der CPU zumindest getestet wurde. Allerdings wohl selten in Echtzeit...
Wenn man eine Explosion auf der CPU berechnet, heißt das noch lange nicht, dass sie auch von der CPU gerendert wird!

Monger
2006-12-20, 12:56:34
Wenn man eine Explosion auf der CPU berechnet, heißt das noch lange nicht, dass sie auch von der CPU gerendert wird!
Ich meine schon einen Software Renderer. Ein Software Renderer kann im Prinzip alles - nur halt nicht "allzu" schnell.

Demirug
2006-12-20, 13:14:26
Ich meine schon einen Software Renderer. Ein Software Renderer kann im Prinzip alles - nur halt nicht "allzu" schnell.

Mit einem entsprechenden Cluster bekommt man auch damit Echtzeit hin. Die Tatsache das aber selbst die Betreiber von großen Clustersystemen lieber nochmal einen zweiten kleinen Cluster mit vielen GPUs zum visualisieren der Berechnungsergebnisse nehmen zeigt IMHO deutlich das die CPU Rechenzeit sinnvoller genutzt werden kann.

Gast
2006-12-20, 13:45:12
Ja stimmt, aber damals hiess das noch Fotoalbum

Also Red Faction und Magic Carpet lief in echtester Realtime auf nem Pentium 75 (das 75 steht für MEGAHz) ohne 3d-Acc

Armaq
2006-12-20, 14:03:46
RedFaction auf einem 75 Mhz Prozi? Aha.

Ausserdem war das keine echte Geometrie. Man hat einfach große Blöcke weggebombt.

Spasstiger
2006-12-20, 14:12:02
RedFaction auf einem 75 Mhz Prozi? Aha.
Vor allem ohne 3D-Beschleuniger ...

Gast
2006-12-20, 14:16:46
Du kannst ALLES über einen Softwarerenderer darstellen. Die CPU ist nunmal universell, und kann prinzipiell beliebig komplexe logische Zusammenhänge herstellen.

nur weil man irgendwelche geometrieverformungen oder shadow-volumes auf der cpu erzeugt ist das noch lange kein softwarerenderer.

deekey777
2006-12-20, 19:41:40
Ich habe das Wort "Noobs" aus dem Threadtitel entfernt (ist ein böses Schimpfwort) und durch "Dummies" ersetzt (angelehnt an die Buchreihe "PC für Dummies").:)

Es ist dann DX9.0L

L = Longhorn = Vista
Nein.
D3D9.L (=D3D9.Ex) ist ein eigenständiges API für Vista, welches das neue Treibermodell zwingend voraussetzt und einige weitere Features mitbringt.
Der Support für Old APIs wird in Vista über D3D9.0c gelöst, ältere APIs bis DX5 (oder gar DX3?) werden über D3D9.0c emuliert, womit man auch uralte Spiele spielen kann.

Coda
2006-12-20, 21:43:51
D3D9.L (=D3D9.Ex) ist ein eigenständiges API für Vista, welches das neue Treibermodell zwingend voraussetzt und einige weitere Features mitbringt.

Uuhm. Da wäre ich mir jetzt nicht so sicher. Die ganze Soße geht eigentlich übers neue Treibermodell wenn ein entsprechender Treiber installiert ist (auch das D3D8-Zeug usw.)

Der Support für Old APIs wird in Vista über D3D9.0c gelöst, ältere APIs bis DX5 (oder gar DX3?) werden über D3D9.0c emuliert, womit man auch uralte Spiele spielen kann.

Es wird natürlich bis DirectX 1 kompatibel sein, so wie bisher auch.

Demirug
2006-12-20, 21:55:40
Uuhm. Da wäre ich mir jetzt nicht so sicher. Die ganze Soße geht eigentlich übers neue Treibermodell wenn ein entsprechender Treiber installiert ist (auch das D3D8-Zeug usw.)

Was DK777 wohl meinte war das man für D3D9EX zwingend einen Treiber für das neue Model braucht während alle älteren DX Versionen notfalls auch noch mit einem alten XP Treiber funktionieren. Wobei das von Microsoft nicht gerne gesehen wird und man nur mit neuen Treibern die entsprechenden Logos bekommt.

Armaq
2006-12-20, 23:15:14
Vor allem ohne 3D-Beschleuniger ...

Klingt glaubwürdig. In 80x60 vll...

AnarchX
2006-12-20, 23:33:07
Klingt glaubwürdig. In 80x60 vll...
Wenn ich mich daran erinnere wie Unreal Tournament auf eine P3 500MHz mit dem relativ guten Software Renderer "lief", dann kann ich mir nicht wirklich vorstellen dass auf einem Pentium 75, Red Faction (http://en.wikipedia.org/wiki/Red_Faction) ein Shooter aus dem Jahre 2001, wie der Gast schrieb "lief".
Da hat man wohl SPF anstatt FPS...

Aber er meint vielleicht ein anderes Game?

haifisch1896
2006-12-21, 00:03:47
Ich kann mich da aber an eins erinnern, was so ähnlich hieß und auf meinem Cyrix P166+ (lahme Ente!) wirklich erstaunlich gut mit einer Matrox Mystique mit 2MB lief.
Red Faction selber würdest Du darauf bestimmt NIE zum laufen kriegen. Nichtmal als Diashow.

Gast
2006-12-21, 16:59:29
Legastheniker hier oder was? Magic Carpet -> du gucken bei Wikipedia
Software-FX: Wasserspiegelung, Motion Blur, Morphende 3D-Landschaft+Gebäude/Anti-Aliasing auf 08/15 2D-Büro-Graka mit 512kb Ram

Coda
2006-12-21, 17:23:55
Und was möchtest du uns damit sagen?

Ausserdem war das keine echte Geometrie. Man hat einfach große Blöcke weggebombt.

Das war echte Geometrie in Red Faction.

Allerdings hat das nichts mit den Möglichkeiten des Geometry Shaders zu tun. Sprich: Es wäre damit nämlich gar nicht möglich.

haifisch1896
2006-12-22, 19:59:33
Legastheniker hier oder was? Magic Carpet -> du gucken bei Wikipedia
Software-FX: Wasserspiegelung, Motion Blur, Morphende 3D-Landschaft+Gebäude/Anti-Aliasing auf 08/15 2D-Büro-Graka mit 512kb Ram

Magic Carpet habe ich nie gespielt. Es war ein anderes. Aber keine Ahnung, welches.

Rhönpaulus
2006-12-30, 15:29:15
ot aber unreal läuft auf meinem schon betagten rechner in 1152x864 und softwarerendering absolut flüssig.
die renderqualität ist stark vereinfacht aber ich war schon etwas überrascht als ich ausversehen darauf gestoßen bin.
insbesondere die sehr konstannten frameraten lassen einen an alte vodoozeiten zurückdenken.

resonatorman
2006-12-30, 20:12:57
Ich hab RF hier (mein Lieblingsspiel BTW) und das hat als Mindestanforderungen 400MHz CPU und 8MB VRAM - und das ist typischerweise immer sehr niedrig gegriffen.

Fetza
2006-12-31, 15:34:24
Magic Carpet habe ich nie gespielt. Es war ein anderes. Aber keine Ahnung, welches.

magic carpet war ein geiles spiel, aber der gast stellt es so hin, als ob man da wirklich großartig die landschaft verändern könnte. Das hielt sich auch alles in sehr engen rahmen. Es gab auch ecken, wo man nix verändern konnte auf der landkarte. Aber für damalige verhältnisse war das schon sehr cool.

habs gerne gezoggt :)

Gast
2007-07-26, 18:20:13
*rauskram*

Was mit DX10 geht, geht prinzipiell auch alles mit DX9, nur halt mit mehr Aufwand?

Silverbuster
2007-07-26, 18:32:49
*rauskram*

Was mit DX10 geht, geht prinzipiell auch alles mit DX9, nur halt mit mehr Aufwand?

Richtig. Man spricht nur oft von "neuen" Effekten da unter DX9 mache Effekte so komplex zu programmieren wären, das eine Diashow schneller wäre. Aber Grundsätzlich sind alle Effekte auch auf DX9 "möglich".... aber nicht unbedingt "Sinnvoll"

Gast
2007-07-26, 18:52:56
Sind unter DX1 nicht auch grundsätzlich alle Effekte möglich, wenn man auf Mehraufwand und Diashow steht? ;)

Monger
2007-07-26, 19:03:47
*rauskram*

Was mit DX10 geht, geht prinzipiell auch alles mit DX9, nur halt mit mehr Aufwand?
Nicht auf der Grafikkarte!

Auf der CPU kannst du selbstverständlich alles berechnen, dazu brauchst du auch kein DirectX, nur halt entsprechend lahm.

Gast
2007-07-26, 19:04:54
Nicht auf der Grafikkarte!

Auf der CPU kannst du selbstverständlich alles berechnen, nur halt entsprechend lahm.
PS3 mit Cell? ;)

Gast
2007-07-26, 22:04:47
PS3 mit Cell? ;)
ach lahm ;)

Gast
2007-07-26, 23:12:00
ach lahm ;)
Das ist doch gerade die Spezieliät der SPEs!?

Gast
2007-07-26, 23:14:50
Das ist doch gerade die Spezieliät der SPEs!?

texturfilterung (auch das muss in einem shader möglich sein ;) )?

nicht wirklich.

dargo
2007-07-28, 09:25:47
Ihr Kiddies seit echt witzig. Sowas ging schon vor 10 Jahren, als man noch nicht jedes neue Feature zwingend auf der Graka haben mußte, um mal was neues zeigen zu können.
Dazu gleich mal eine Frage - wie sinnvoll ist eigendlich in Zukunft (2008/2009) der Geometrieshader im Zeitalter von Multicores (CPU)? Oder anders gefragt - kann man mit einem C2D Core (zb. @3Ghz) die Leistung eines GS zb. vom R600 erreichen?

Monger
2007-07-28, 09:40:00
Dazu gleich mal eine Frage - wie sinnvoll ist eigendlich in Zukunft (2008/2009) der Geometrieshader im Zeitalter von Multicores (CPU)? Oder anders gefragt - kann man mit einem C2D Core (zb. @3Ghz) die Leistung eines GS zb. vom R600 erreichen?

Ich gehe davon aus, dass das nicht das Hauptproblem ist. Bandbreite und Latenzen sind da wohl viel problematischer.

Wozu überhaupt den GS ersetzen wollen?

dargo
2007-07-28, 09:43:36
Ich gehe davon aus, dass das nicht das Hauptproblem ist. Bandbreite und Latenzen sind da wohl viel problematischer.

Wozu überhaupt den GS ersetzen wollen?
Wozu eine Graka mit GS vollstopfen, könnte ich genauso fragen? :)
Gibt es irgendwelche Zahlen - zb. der GS vom R600 leistet soviel und soviel. Der GS auf einem C2D Core @3Ghz soviel :confused:

Gast
2007-07-28, 09:56:24
Der C2D pfeift doch schon aus allen Ecken und du willst ihn noch zusätlich mit der Aufgabe eines GS belasten. :confused:

dargo
2007-07-28, 10:01:45
Der C2D pfeift doch schon aus allen Ecken und du willst ihn noch zusätlich mit der Aufgabe eines GS belasten. :confused:
Ich wüßte nicht was an einem Yorkfield mit 4 Cores und ~3,33Ghz pfeifen sollte. ;)
Außerdem würde es mich nicht wundern wenn wir ~2009/2010 schon 8 Core CPUs sehen.

Monger
2007-07-28, 10:02:58
Wozu eine Graka mit GS vollstopfen, könnte ich genauso fragen? :)
Gibt es irgendwelche Zahlen - zb. der GS vom R600 leistet soviel und soviel. Der GS auf einem C2D Core @3Ghz soviel :confused:

Ich glaub, du hast mich falsch verstanden. Ich bezweifle, dass du mit der CPU überhaupt den GS ersetzen kannst - egal wie schnell die CPU ist.

Der GS ist nunmal genau dafür da wozu er da ist, und er macht seine Sache gut. Wozu ihn jetzt mit irgendwas völlig fremden ersetzen wollen, was - wenn überhaupt - nur miserabel funktioniert?

Das ist so wie zu sagen: "Wenn ich nur schnell genug mit dem Fahrrad fahre, kann ich bestimmt fliegen!"

Neomi
2007-07-28, 13:10:24
Der Geometryshader sitzt hinter dem Vertexshader, also müßte bei Berechnung durch die CPU alles, was der VS ausspuckt, über den Bus zurückgeschickt werden und die Ergebnisse vom GS gleich wieder zur GPU. Ziemlich bandbreitenintensiv. Alternativ spart man die Hälfte dieser Bandbreite, wenn die CPU gleich das komplette Vertexprocessing übernimmt, viel zu viel ist das aber noch immer, ganz abgesehen von der Rechenlast für die CPU. Dazu kommt noch, daß der GS natürlich Zugriff auf Texturen und andere Ressourcen hat, die für eine CPU-Lösung dann gleich nochmal im Speicher sein müßten oder über den Bus gelesen würden.

Selbst wenn eine CPU-GS so schnell wäre wie ein GPU-GS (was ich nichtmal bei kommenden 8- und 16-Kernern glaube, jedenfalls definitiv nicht gegen die dann aktuellen Grafikkarten), dadurch würden zu viele neue Probleme entstehen.

Coda
2007-07-28, 13:18:26
Es ranken sich eh viele Mythen und noch sehr viel mehr Unverständnis um den Geometry Shader...

Bei der für R6xx angedachten Tesselationseinheit kann man ja noch streiten, aber sobald man dynamisch mit Vertexdaten auf der CPU hantiert kann man diese nicht mehr statisch in den VRAM legen, sondern muss sie jedes Frame über den Bus übertragen. Kann man für alle Objekte in der Szene glatt mal vergessen.

dargo
2007-07-28, 14:08:12
Ah, ok. Dann kann man also grundsätzlich sagen, dass ein GS auf der Grafikkarte am meisten Sinn macht. Danke. :)