PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ATI und Nvidia PhysX



Dr.KingSchulz
26.12.2010, 17:26
Wenn ich Risen installiere lädt sich das Spiel Nvidia Physix herunter. Habe aber eine Ati Radeon 6850. Kann es da wärend des spielens zu Problemen kommen?

Aun
26.12.2010, 18:42
Ohne weiteres wird AA nicht funktionieren. Entweder musst du das Spiel in UT3.exe umbenennen oder es geht nur auf Kosten der Vegetation. Ansonsten kann ich dir leider nicht weiterhelfen. :(

Jodob
28.12.2010, 18:41
nein, es gibt keine Probleme, im Gegenteil, ist PhysX nicht installiert, startet Risen nicht

es ist in dem Fall egal, welche GPU du hast, da PhysX auf der CPU berechnet wird

Multithread
28.12.2010, 22:01
nein, es gibt keine Probleme, im Gegenteil, ist PhysX nicht installiert, startet Risen nicht

es ist in dem Fall egal, welche GPU du hast, da PhysX auf der CPU berechnet wird

Nicht immer, die neuste Nvidoa Physix kann auch die GPU übernehmen, was bei mir selber weniger ruckelt als wenn die CPu das übernimmt, kann man Noti liegen wobei die CPu nie voll ausgelasted ist.

Bei mir übernimt die PhysX berechnungen die Graka(GT230M)

Dr.KingSchulz
30.12.2010, 14:09
Besten Dank für die Antworten.Habe jetzt erst gesehen das mein Thema verschoben wurde.

MisterXYZ
31.12.2010, 00:10
Also kann man PhysX nutzen, wenn man ATI-Karten hat? Das wäre mir neu, habs aber wegen Risen und Arcania auch drauf. Was für Vorteile hat man denn dadurch und wo besteht der Nachteil zu nVidia-Karten?

foobar
31.12.2010, 09:32
Also kann man PhysX nutzen, wenn man ATI-Karten hat? Das wäre mir neu, habs aber wegen Risen und Arcania auch drauf. Was für Vorteile hat man denn dadurch und wo besteht der Nachteil zu nVidia-Karten?

Man kann PhysX immer nutzen. Die Frage ist, ob es auf der CPU läuft oder auf einer NVidia-GPU. Letzteres ist grob geschätzt so um den Faktor 20-80 schneller, erlaubt also entsprechend mehr Berechnungen. Während man bei der CPU-Berechnung sich damit begnügen muss, mal die Flugbahn eines Pfeil oder das Herunterfallen eines Apfels zu berechnen, kann man bei GPU-Berechnung tausende von Partikeln gleichzeitig physikalisch korrekt berechnen lassen. Das reicht also beispielsweise auch für Explosionen oder aufgewirbelte Laubblätter. Die kann man sonst zwar auch realisieren, aber sie sehen halt immer gleich aus.

MisterXYZ
01.01.2011, 03:36
Alles klar, vielen lieben Dank für die Antwort, dann bin ich als Grafiklaie aber froh, dass ich es nicht deinstalliert habe:D:gratz

Multithread
01.01.2011, 08:23
Man kann PhysX immer nutzen. Die Frage ist, ob es auf der CPU läuft oder auf einer NVidia-GPU. Letzteres ist grob geschätzt so um den Faktor 20-80 schneller, erlaubt also entsprechend mehr Berechnungen. Während man bei der CPU-Berechnung sich damit begnügen muss, mal die Flugbahn eines Pfeil oder das Herunterfallen eines Apfels zu berechnen, kann man bei GPU-Berechnung tausende von Partikeln gleichzeitig physikalisch korrekt berechnen lassen. Das reicht also beispielsweise auch für Explosionen oder aufgewirbelte Laubblätter. Die kann man sonst zwar auch realisieren, aber sie sehen halt immer gleich aus.

Eine frage habe ich jetzt jedoch, sollte diese PhysX nicht die CPU komplett auslasten wenn es so viel braucht bzw. wenn die CPU genug power hat?

Jedoch konnte ich nicht mal eine Stark erhöhte auslastung feststellen, obwhol es von der CPU berechnet wurde, gibt es dafür irgendeinen Grund?

system siehe sig ganz unten

foobar
01.01.2011, 12:04
Eine frage habe ich jetzt jedoch, sollte diese PhysX nicht die CPU komplett auslasten wenn es so viel braucht bzw. wenn die CPU genug power hat?

Ok, anders erklärt: PhysX ist nur eine Bibliothek zum Berechnen physikalischer Gleichungen. Jetzt kommt zunächst mal der Entwickler und überlegt sich, welche Sachen er eigentlich berechnen (lassen) will. Für die paar Projektile und was evtl. noch in Risen zu berechnen ist, da reicht die CPU locker für aus. Der zusätzliche Aufwand ist auf den meisten Systemen nicht mal mess- geschweige denn spürbar. Geht einfach im Rauschen unter.

Wenn der Entwickler aber sagt: "Ich hätte gerne realistische Explosionen oder Blätterwirbel oder Strömungssimulationen von Wasser oder sowas", dann sind das ein paar Tausend oder Zehntausend Berechnungen mehr. Erst das wird eine CPU in die Knie zwingen und dann muss man die GPU-Beschleunigung zuschalten. Das ist bei Risen nur kein Thema, weil da niemand nach physikalisch korrekten Spezialeffekten verlangt hat.

Also kann man bei Risen ruhig alles auf der CPU laufen lassen. Ich weiß gar nicht, ob PhysX immer da läuft, wo der Anwender es hin konfiguriert hat oder ob der Entwickler da ein Wörtchen mitreden kann und es dann bspw. sowieso immer auf der CPU (oder GPU) läuft - egal, was der User eingestellt hat.

Wovon ich übrigens aus eigener Erfahrung abraten kann, ist der Versuch, sich ein Mainboard mit NVidia-Grafikchip zu kaufen, trotzdem eine schöne Gamerkarte dazu zu stecken und dann den Onboardchip für PhysX-Berechnungen zu verwenden. In der Theorie eine nette Idee, der Chip hat schließlich nichts anderes zu tun und könnte so als dedizierter PhysX-Chip arbeiten, ohne bei aufwendigen Berechnungen die Grafikkarte oder die CPU zu bremsen. Auch NVidia hätte der Ansatz eigentlich gefallen sollen, schließlich verkaufen sie auf die Weise ihre Mainboards mit Onboardgrafik auch an Spieler. Aber leider sieht man das bei NVidia irgendwie anders. In der Praxis wird das System bei diesem Setup stärker gebremst, als wenn man PhysX einfach auf der GPU mitlaufen lässt. Offenbar ist der Treiber hierfür nicht ausgelegt. Inzwischen habe ich ein Mainboard mit AMD-Chipsatz. NVidia will seine Vorteile wohl nicht nutzen.

MisterXYZ
01.01.2011, 23:22
Wenn der Entwickler aber sagt: "Ich hätte gerne realistische Explosionen oder Blätterwirbel oder Strömungssimulationen von Wasser oder sowas", dann sind das ein paar Tausend oder Zehntausend Berechnungen mehr. Erst das wird eine CPU in die Knie zwingen und dann muss man die GPU-Beschleunigung zuschalten.

Und was passiert, wenn man dann eine ATI hat? Es wird einfach nicht berechnet und der Effekt tritt dann nicht bei dem Spieler auf oder? Oder kann dadurch ein Fehler entstehen?

foobar
01.01.2011, 23:34
Und was passiert, wenn man dann eine ATI hat? Es wird einfach nicht berechnet und der Effekt tritt dann nicht bei dem Spieler auf oder? Oder kann dadurch ein Fehler entstehen?

Theoretisch würden die Berechnungen dann - in Ermangelung einer geeigneten GPU - auf der CPU laufen und diese so sehr belasten, dass das Spiel unspielbar wird.

Praktisch wird wohl kein Entwickler so dämlich sein, so etwas zu machen. Jedenfalls nicht für spielentscheidende Dinge. Damit würde er ja alle ATI/AMD-Kunden ausschließen. Daher läuft es für gewöhnlich darauf hinaus, dass solche Sachen nur für verzichtbare Spezialeffekte verwendet werden. NVidia-Besitzer schalten sie zu und haben vielleicht ein paar hübschere Effekte, AMD-Besitzer lassen den Schalter auf aus und können trotzdem ganz normal spielen.

Mit "Havok FX" gab es wohl mal Bestrebungen, eine Bibliothek zu entwickeln, die auf Karten beider Hersteller läuft und damit auch spieltechnisch hätte verwendet werden können. Doch dann hat Intel den Laden aufgekauft und es wurde still um das Produkt.

Dr.KingSchulz
02.01.2011, 03:14
AMD-Besitzer lassen den Schalter auf aus und können trotzdem ganz normal spielen.
Welchen Schalter?

foobar
02.01.2011, 09:38
Welchen Schalter?

Den, welchen der Entwickler in die Einstellungen seines Spiels eingebaut hat, da er (wie bereits geschrieben) nicht doof genug ist, immer die große Effektkanone aufzufahren.


EDIT: Habe übrigens mal den Threadtitel entfehlert.

Dr.KingSchulz
02.01.2011, 10:47
EDIT: Habe übrigens mal den Threadtitel entfehlert.Sehr lobenswert.:gratz

MisterXYZ
03.01.2011, 01:32
Alles klar, vielen Dank für die ausführlichen Erklärungen:gratz§wink

Knuddelbearli
04.01.2011, 15:05
gut erklärt foobar ;-)

wobei bei Nvdia GPU Physik das selbe Problem ist wie mit Tesselation.

Die Spiele die soviel wert drauf legen das man den unterschied zwischen ATI und NV merkt übertreiben so sehr damit das man es selbst auf NV Karten lieber wieder deaktiviert. zB Batman für Physik oder Metro für Tesselation

foobar
04.01.2011, 15:55
wobei bei Nvdia GPU Physik das selbe Problem ist wie mit Tesselation.

Wobei Tesselation eine standardisierte API-Funktion ist. Da ist klar: Kauf dir eine DX11-Karte (egal von wem) und sie kann das. Selbst DirectX oder OpenGL spielen keine Rolle, beide Standards unterstützen es in ihren aktuellen Fassungen. Es gibt zwar noch nicht allzu viele Leute mit solchen Karten und entsprechend auch nicht viele Spiele, die es aktiv nutzen.

Aber es wird auf absehbare Zeit langsam in die Spiele hinein sickern. So wie die neuen Technologien davor auch (T&L war vor langer Zeit auch mal sowas, was nur auf den neusten Karten lief - heute kann es jede).

PhysX dagegen ist eine reine NVidia-Insellösung. Und ob es mal irgendwann alle Karten können werden und es dann auch in spielmechanischer Hinsicht genutzt werden kann, weiß niemand.

MisterXYZ
04.01.2011, 19:18
Hab jetzt doch noch ne Frage, bei Risen oder Arcania gibt es gar keinen Haken für PhysX. Gibt es den nur bei Spielen, die das auch voll ausreizen? Oder müsste man das für Arcania und Risen in PhysX selber umstellen?

Knuddelbearli
04.01.2011, 19:26
jap mom ist aber NV bei der TS doch deutlich schneller nur wie gesagt was nützt das wenn tess wenn sie stark benutzt wird immer total übertrieben benutzt wird sodas alles aufgebläht wird ...

foobar
04.01.2011, 20:19
Hab jetzt doch noch ne Frage, bei Risen oder Arcania gibt es gar keinen Haken für PhysX. Gibt es den nur bei Spielen, die das auch voll ausreizen? Oder müsste man das für Arcania und Risen in PhysX selber umstellen?

Na wenn es keinen Schalter für die zusätzlichen PhysX-Effekte gibt, dann gibt es da auch nichts zu stellen. Vermutlich, weil solche Effekte gar nicht da sind. Was nicht vorhanden ist, kannst du nicht einschalten. Darfst du gerne mal an dem Warpkern hinter dir ausprobieren. ;)

Multithread
04.01.2011, 21:51
Tesslation, kann man die aktiv einschalten bei Risen, bzw würde das irgendwas bringen?

Wofür ist die überhaupt Zuständig, Google will mir da nicht weiterhelfen, ich weiss nicht wie ich die Frage Richtig stellen muss.

foobar
04.01.2011, 22:46
Tesslation, kann man die aktiv einschalten bei Risen, bzw würde das irgendwas bringen?

Nein. Tesselation ist ein Feature von DirectX11. Da Risen ein DirectX9-Spiel ist, kann es diese Funktion nicht nutzen.


Wofür ist die überhaupt Zuständig

Mathematisch betrachtet ist Tesselierung das Zerlegen eines komplexen Polygons in ein Netz kleinerer, einfacherer Polygone (im Falle von Spielen eben Dreiecke, weil Grafikkarten auf Dreiecke stehen - damit können sie besonders gut umgehen). Stelle es dir ein bisschen so vor wie das Haus vom Nikolaus, wo der äußere Umriss schon vorhanden ist. Dann kommt einer an und malt innen noch die Verbindungslinien rein und auf einmal ist es in lauter Dreiecke zerlegt. Das ist Tesselation.

Mit Tesselation kann der Grafikchip anhand bestimmter Vorgaben selbst neue Geometriedaten erzeugen. Man kann also beispielsweise einen Baumstamm nur als grobes "Vierkantholz" an die Grafikkarte schicken, zusammen mit ein paar Instruktionen für die Tesselation. Die Karte berechnet dann selbst einen schön rund wirkenden Baumstamm aus vielen Polygonen. Das lässt sich beispielsweise für LOD einsetzen. Vorne lässt man viele Details berechnen, hinten bleiben die kantigen Objekte, wie sie sind. Ebenso könnte die Karte die Form von Objekten (innerhalb gewisser Grenzen) per Tesselation dynamisch verändern. So eine Art Morphing. Gewisse Animationen würden also dann direkt auf der Karte ausgeführt werden können.

Im Grunde ist es die logische Weiterentwicklung von Bump- und Displacement-Mapping. Ersteres täuscht Tiefeninformationen nur durch Farbänderungen vor und die Illusion erlischt, sobald man aus dem falschen Winkel draufguckt. Letzteres verändert bereits wirklich die vorhandene Geometrie, kann aber keine neue erzeugen. Bei Tesselation dagegen schicke ich halt meinen Vierkant und die Karte macht daraus den Baumstamm. Dazu tesseliert sie das Kantholz in viele kleine Polygone. Und von denen lässt sich dann jedes einzelne beliebig manipulieren. Das machen spezielle Shader. So lässt sich der ehemals gerade Stamm dann krümmen und biegen, damit er verwachsen aussieht. Der Querschnitt lässt sich runder machen und gezielt Unregelmäßigkeiten einstreuen, damit es organisch wird. Und sogar Unebenheiten an der Oberfläche (Rinde) lassen sich erzeugen.

In der Praxis geht die Karte natürlich schnell in die Knie, wenn sie nur Vierkant-Hölzer kriegt und alles andere selbst machen muss. Daher läuft es eher so ab, dass man fertige Meshes schickt und die Karte einfach noch ein paar zusätzliche Details heraus zaubert.


Und warum macht man das überhaupt? Warum schickt man nicht gleich alles fertig ausmodelliert? Da diese neuen Polygone dynamisch berechnet werden, müssen sie nicht gespeichert und nicht an die Karte übertragen werden. Es entlastet also den RAM und den PEG-Kanal. Der Vorteil insgesamt ist, dass man nur noch ein Modul upgraden muss (die Grafikkarte), um die Leistung zu erhöhen. Das ist ein kompaktes Bauteil mit entsprechend kurzen Signalpfaden, wo man dann auch hohe Takte fahren kann. Es ist also einfacher und billiger (letztlich auch für den Verbraucher), eine Graka mit mehr Shaderleistung zu entwickeln. Würde man die gleiche Menge an Polys, wie sie per Tesselation erzeugt wird, auf herkömmliche Weise übertragen wollen, müsste man erstmal neue Busse und Speichertypen erfinden. Das wäre erheblich aufwendiger und teurer.

MisterXYZ
05.01.2011, 00:54
Na wenn es keinen Schalter für die zusätzlichen PhysX-Effekte gibt, dann gibt es da auch nichts zu stellen. Vermutlich, weil solche Effekte gar nicht da sind. Was nicht vorhanden ist, kannst du nicht einschalten. Darfst du gerne mal an dem Warpkern hinter dir ausprobieren. ;)

Hihi, jetzt haste mich aber fast gekriegt, wollte mich schon fast umdrehen und mal kucken, was Du gemeint haben könntest:p

Aber warum wurde dann PhysX bei der Installation mitinstalliert? Weil es zwar geringe PhysX-Effekte gibt, die aber über die CPU laufen oder?

foobar
05.01.2011, 08:16
Aber warum wurde dann PhysX bei der Installation mitinstalliert? Weil es zwar geringe PhysX-Effekte gibt, die aber über die CPU laufen oder?

Na das erzähle ich doch schon seit mehreren Posts. Ein paar Berechnungen laufen über PhysX, da mussten sich die Piranhas nicht selbst die passenden Formeln und Algorithmen ausdenken. Das ist aber zu wenig, um irgendwie lastmäßig aufzufallen.