PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : (Grafik-) Effekte: Was fordert wen?


Kladderadatsch
2007-09-25, 13:06:20
hi,
im allgemeinen hieß es früher, was man sieht, geht auf kosten der grafikkarte, alles andere macht die cpu. das ist heute natürlich in den meisten fällen falsch oder höchstens halbwahr. aber welche effekte sind nun eher gpu-, welche cpu-lastig?
ich schlage zur veranschlaulichung mal stalker, arma und gothic 3 vor, da die recht umfangreiche und unterschiedliche setting-einstellungen bieten.

http://gothicintw.pbwiki.com/f/g3settingscg6.png

http://www.surfacezero.com/uploads/burns/arma_mark_set.jpg

(besseres habe ich zu stalker nicht finden können)
http://www.nvnews.net/reviews/inno3d_ichill_8600gts_xstriker3/stalker_details.jpg


was für mich ein echtes rätsel ist, sind die schatten als auch die objekt-/gras- etc. dichte. schatten sollte doch hochgradig gpu-limitiert sein- aber warum bekomme ich in stalker dadurch ein cpu-limit?
wenn sich mehr gras im wind oblivions/armas wiegen muss, komme ich (hier allerdings imo) ebenfalls näher ans cpu-limit, obwohl das doch lediglich shader-routinen sind?:confused:

Deathcrush
2007-09-25, 13:26:43
Armed Assault ist z.B im Wald und Wiesengebiet z.B extrem GPU limitiert. Sofern dann viel los ist, gehts halt zur Lasten der CPU. Dann kommt es halt auf die Engine an. Grasbewegungen können z.B vom Vertex gebrauch machen oder so wie bei Schlacht um Mittelerde die Gegnerhorden. (Damit sich nicht alle gleich bewegen) Mit den Geometryshadern wird die CPU z.B noch mehr entlastet, da diese objekte z.B teilen kann und neue Knoten in einem Objekt hinzufügen kann. Das was halt die CPU vorher machen musste. Vertexshader können nur objekte verschieben/bewegen. Geometryshader werden deshalb wohl auch für Physikeffekte genutzt.

Ernie
2007-09-25, 19:28:13
Deine Frage ist berechtigt. Leider könnte ich Dir nur zu den Optionen von GTR2 Auskunft geben, da die einzelnen Detailschalter zwischen den einzelen Games oder Engines in Bezug auf die Beanspruchung von GPU oder CPU-Ressource variieren.

Aber:
Texturen- (-filterung etc.) und Shaderdetail: ---> GPU
Distanzdarstellung: ----> CPU
Schatten: CPU/ GPU je nach Engine
Objektdetail: mehr CPU als GPU

Kladderadatsch
2007-09-26, 13:26:00
Distanzdarstellung: ----> CPU
Schatten: CPU/ GPU je nach Engine
Objektdetail: mehr CPU als GPU
das finde ich interessant. warum gehen die objektdetails eher zu lasten der cpu?

BlackBirdSR
2007-09-26, 13:31:26
das finde ich interessant. warum gehen die objektdetails eher zu lasten der cpu?

Weil erstellen und senden der Geometrie, Kollisionsberechnung, Speicherverwaltung, Interaktionen mit der Umwelt und Komposition der Szene immernoch zum großen Teil Aufgabe der CPU sind.

Mr.Magic
2007-09-26, 13:39:03
Erstellen der Geometrie ist Aufgabe der CPU? Macht die heutzutage nicht "nur" Tessellation, und den Rest übernimmt die GPU?

BlackBirdSR
2007-09-26, 14:13:20
Erstellen der Geometrie ist Aufgabe der CPU? Macht die heutzutage nicht "nur" Tessellation, und den Rest übernimmt die GPU?

Lass es mich so ausdrücken, dee CPU muss ja Positionsdaten/Verformung etc berechnen und an die GPU senden. Oder liege ich falsch?

_DrillSarge]I[
2007-09-26, 14:17:49
Lass es mich so ausdrücken, dee CPU muss ja Positionsdaten/Verformung etc berechnen und an die GPU senden. Oder liege ich falsch?
teilweise. denk mal an das ati-truform feature. da wurde alles (zusätzliche) in der graka gemacht.
was ist eigentlich mit der tesselation auf den hd2000 karten?

Kladderadatsch
2007-09-26, 14:19:35
Lass es mich so ausdrücken, dee CPU muss ja Positionsdaten/Verformung etc berechnen und an die GPU senden. Oder liege ich falsch?
also wenn ich mich recht erinnere und jetzt aus unwissenheit nichts verwechsle, wurde so zeugs damals bei einer vorstellungen von dx9 als "revolutionäre" neuerung versprochen- und sollte damit doch sache der gpu sein?

Deathcrush
2007-09-26, 14:20:02
Lass es mich so ausdrücken, dee CPU muss ja Positionsdaten/Verformung etc berechnen und an die GPU senden. Oder liege ich falsch?

Verformen können doch auch die Vertexhader, oder nicht. Nur das hinzufügen von knotenpunkten können die nicht. Sprich wenn bei einer Explosion was auseinander bricht.

EDIT

Zitat

Ein Vertex-Shader dient dazu, die Geometrie einer Szene zu manipulieren, indem die Vertices (Eckpunkte von dreidimensionalen Objekten) der Oberflächen verschoben werden. Dadurch lässt sich die Form von Objekten beeinflussen, was sich wiederum auch in ihrer Beleuchtung niederschlägt. Allerdings kann ein Vertex-Shader nur bestehende Geometrie verändern, er kann weder welche entfernen noch neue hinzufügen, hierfür ist der Geometry-Shader notwendig. Hinsichtlich des Funktionsumfangs ersetzt der Vertex-Shader somit das ältere Transform & Lighting (T&L), das wesentlich weniger flexibel ist.

http://de.wikipedia.org/wiki/Vertex-Shader

Kladderadatsch
2007-09-26, 14:21:09
Verformen können doch auch die Vertexhader, oder nicht. Nur das hinzufügen von knotenpunkten können die nicht. Sprich wenn bei einer Explosion was auseinander bricht.
was ja wieder physikalische brechnungen wären- die die gpus seit neuestem ja auch beherrschen sollen;)

Deathcrush
2007-09-26, 14:24:10
Dafür sind ja die Geometryshader gedacht.

Mr.Magic
2007-09-26, 14:26:33
Lass es mich so ausdrücken, dee CPU muss ja Positionsdaten/Verformung etc berechnen und an die GPU senden. Oder liege ich falsch?

Die Bildung von Dreiecken durch Triangulation der Punktdaten ist doch die Tessellation, oder nicht?

[Edit by BBSR] Sorry, falscher Button

BlackBirdSR
2007-09-26, 14:38:49
Die Bildung von Dreiecken durch Triangulation der Punktdaten ist doch die Tessellation, oder nicht?

Sprechen wir vom selben? Ich rede nicht vom Erzeugen zusäzlicher Dreiecke in besteher Geometrie, sondern das anfängliche Erstellen der Szene und berechnung der Positionsdaten. Bisher müssen die meisten Daten ja noch von der CPU kommen. Geoemtrieshäder zählen noch nicht. Zumindest für Gothic3, Armed Assault etc.

_DrillSarge]I[
2007-09-26, 14:43:55
Sprechen wir vom selben? Ich rede nicht vom Erzeugen zusäzlicher Dreiecke in besteher Geometrie, sondern das anfängliche Erstellen der Szene und berechnung der Positionsdaten. Bisher müssen die meisten Daten ja noch von der CPU kommen. Geoemtrieshäder zählen noch nicht. Zumindest für Gothic3, Armed Assault etc.
die "grundgeometrie" wird noch am anfang von der cpu erstellt

Mr.Magic
2007-09-26, 14:58:13
I[;5876103']die "grundgeometrie" wird noch am anfang von der cpu erstellt

Genau. Sobald die Dreiecke erzeugt sind sollte, bei einer modernen Engine, eigentlich die GPU übernehmen.

Vor Einführung von T&L machte noch alles die CPU, außer das Bepflastern der Meshes mit (gefilterten) Texturen. Seit Einführung der ersten GPU (GeForce 256), oder spätestens seit die Hardware programmierbar wurde, wurden nach und nach immer mehr Aufgaben an die Grafikkarte Übertragen.

Da die Übergänge fließend sind, ist der Grad der Aufteilung natürlich von der Engine abhängig.