Physik auf der Grafikkarte - nicht immer geil
-
Das finde ich ja mal schon schlecht. Nicht nur werden anscheinend Physik-Berechnungen, die fürs Gameplay wichtig sind, client-seitig getätigt, was dem Cheaten Tür und Tor öffnet. Sondern da fehlt doch auch die logische Trennung von Gameplay-Simulation und Grafikdarstellung. Geht's noch verfrickelter??
-
Optimizer schrieb:
Das finde ich ja mal schon schlecht. Nicht nur werden anscheinend Physik-Berechnungen, die fürs Gameplay wichtig sind, client-seitig getätigt, was dem Cheaten Tür und Tor öffnet. Sondern da fehlt doch auch die logische Trennung von Gameplay-Simulation und Grafikdarstellung. Geht's noch verfrickelter??
Im brief von Crytek steht was ganz anderes als du hineininterpretierst.
zur klarstellung:
1. bis auf vehiclephysic gibt es keine physic unter dx9 im multiplayer, weil der server ohne d3d10 garnicht die rechenlast der physic verarbeiten kann.
somit:
2. wirkliche physic fuer alles gibt es nur, wenn der server d3d10-hardware hat um die physic zu berechnen (nicht nur client-seitig)
3. an einem d3d10 spiel koennen nur spieler teilnehmen die auch d3d10-hartware haben, d3d10 spieler koennen aber auch an d3d9-servern spielen. d3d9 spieler koennen nur an d3d9-servern spielen.
4. "Sondern da fehlt doch auch die logische Trennung von Gameplay-Simulation und Grafikdarstellung" das kann man aus der aussage cryteks garnicht rauslesen. nur weil die graphikkarte mittels d3d10 auch physic berechnet heisst es im umkehrschluss nicht, dass das mit dem rendering in irgendeiner weise vermischt werden muss. auf dem server muss kein rendering vorhanden sein, trotzdem d3d10 fuers berechnen der physic.auf gamestar.de oder pcgames.de gibt es das vielleicht auch nochmal verstaendlicher und ausfuehrlicher eklaert.
korrigiert mich wenn mein englishverstaendnis zu schlecht ist *hehe*
[edit] ok, nach 10mal lesen von "Due to the strong hardware available with DX10, server load is less" muss ich zugeben dass man das auch anders interpretieren kann;) [/edit]
-
Die Trennung zwischen Physik und Grafik ist da. Crytek setzt nur eben nicht auf soetwas wie die Ageia PhysiX Karten, sondern setzt die GPU ein, da derzeit wohl recht wenig Leute über einen Physik-Beschleuniger verfügungen. Normale CPUs sind einfach viel zu langsam. Die haben vielleicht ein Zehntel der Rechenleistung.
-
ok, ich hab das mal testen lassen :), optimizer hat in dem punkt recht dass die physic nur clientside auf d3d10 laeuft.

-
Ja, in die Richtung habe ich gleich gedacht, weil sonst wäre mir nicht eingeleuchtet, warum jeder Client eine D3D10-Karte braucht.
-
Wenn ich mal ganz naiv fragen darf. Welche Vorteile bringt eine DX10 Karte in der Berechnung der Physik gegenüber einer DX9 Karte? Gibt es nicht auch DX9 Karten die ähnlich schnell laufen wie DX10 Karten? Oder wird etwas besonderes von DX10 zur Berechnung verwendet, d.h. es kommt nicht allein auf die Power der Karte drauf an?
tt
-
Ich kann mir vorstellen, dass manche Berechnungen mit Shader Model 4.0 besser zu machen sind, man kann viel mehr Instruktionen haben, hat ein einheitlicheres Shader Model, Integer-Operationen, ...
Das ist einfacher als irgendwas komisch mit CUDA zu machen und dann geht es nur auf nvidia-Karten.Ist aber mehr oder weniger nur geraten.
-
Ok ich gebe zu mich nicht wirklich mit den genaueren Details beschäftigt zu haben. Aber irgendwie sieht das für mich so aus, als sei das zum großen Teil eine politische Entscheidung, um Vista bissi zu pushen;>
-
integer duerfte ein grosser punkt sein. die massige anzahl der shadervariablen (16*4096?) und dass es sehr einfach ist die auszutauschen, zudem ist dynamic branching ueberall sehr schnell, bei d3d9 hardware gab es ja durchaus relativ grosse performanceseinbruechen wenn man dynamic branching nutzte. eventuell ist das buffermanagement nun auch ein wenig von vorteil, weil's so flexibel ist, theoretisch koennte man sich flags in einen constbuffer rendern und im anschluss nutzen;)
-
Also dafür das Crysis ja erst nur für DX9 entwickelt wurde und später zum DX10-Zugpferd wurde, finde ich das schon ganz schön dreist. Und die gesamte Physik rausschmeißen, außer den Fahrzeugen: ob das wirklich nötig war?
Es gibt genug aktuelle Titel die mit DX9 und CPU auch schöne Physik-Spielereien haben.Braucht man bei Physik so viele Integer-Rechnungen??? Und die Anzahl der Instruktionen ist sicher auch im SM 3 asureichend.
-
Pellaeon schrieb:
Also dafür das Crysis ja erst nur für DX9 entwickelt wurde und später zum DX10-Zugpferd wurde, finde ich das schon ganz schön dreist.
es wird immerhin seit ca 2-3 jahren fuer d3d10 entwickelt, oder? spiele aendern sich in ihrer entwicklung durchaus sehr, in Bioshock sollte man urspruenglich wohl auch gegen nazis kaempfen etc.
Und die gesamte Physik rausschmeißen, außer den Fahrzeugen: ob das wirklich nötig war?
Es gibt genug aktuelle Titel die mit DX9 und CPU auch schöne Physik-Spielereien haben.es geht um den multiplayer. ich glaube Crysis ist das erste spiel das soviel _spielrelevante_ physic im multiplayer bietet.
oder hab ich ein spiel verpasst?
Braucht man bei Physik so viele Integer-Rechnungen???
1. kommst du komplett ohne integer und bool in deinen generischen programmen aus ? stichwort: flags, ids etc.
2. wenn emulierte integer nur die primitivsten funktionen und das auch noch sehr langsam in d3d9 bieten, welchen vorteil haette es denn es langsammer auf gpu zu machen als auf der normalen cpu?
wir wissen ja nichtmal was crytek auf der gpu macht, simple physic fuer d3d9 gpus gab es ja schon von z.b. havok.Und die Anzahl der Instruktionen ist sicher auch im SM 3 asureichend.
ja, 65536 koennte fuer ne zeit lang reichen *hehe* aber das hat ja niemand angezweifelt

sie sind beim branchen nur sehr langsam.
-
es geht um den multiplayer. ich glaube Crysis ist das erste spiel das soviel _spielrelevante_ physic im multiplayer bietet.
oder hab ich ein spiel verpasst?Ja du hast eines verpasst. SÖLDNERS Secret Wars (jetzt dank der vielen Updates ohne Absturz spielbar spielbar) ist ein DirecktX 8 spiel (First person shooter) und bietet eine volkommen zerstörbare Landschaft. (Fahrzeuge,Häuser, Boden, Bäume,... alles zerstörbar)
Außerdem wird eimen eine wirklich sehr weitläufige landschaft presentiert
Karte ist 32000 * 64000 km^2 groß und die Sichtweite im spiel beträgt EINIGE KILOMETER (natürlich mit weniger Details um so weiter was weg ist)
Das Spiel läuft mit ner Geforce 4200 und nem AMD 2200+ flüssig !
-
Die Frage ist halt, was passiert genau, wenn du ein Haus zerstörst? 3 Trümmerteile oder 100? Sind diese Teile Hindernisse? Können sie einen erschlagen? Können sie andere Sachen zerstören und wieder in Trümmer zerlegen? Können sie auseinanderbrechen? Davon hängt eigentlich ab, wie aufwändig die Physik ist. Ein Loch in die Landschaft schießen zu können, ist physikalisch noch nicht so anspruchsvoll.

-
Optimizer schrieb:
DEin Loch in die Landschaft schießen zu können, ist physikalisch noch nicht so anspruchsvoll.

So einfach scheint das nicht zu sein. Spiele, wo wirklich die Landschaft verformt wird, sind eher rar.
Ansonsten dem Rest des Posts stimme ich natürlich zu. Die Physik vom Sölndern mit der von Crysis gleichzusetzen ist eher fehl am Platz. Hab die kommende Demo auf der GC anspielen können. Und das Zeugs aus dem Video mit dem zerlegen klappt wunderbar

Allerdings sehe ich hier auch das Problem: in der DX9 Version wird ja wirklich ein "_spielrelevantes" Feature gestrichen. Es ist ja nicht, dass einfach nur die Grafik schlechter wäre. Und da bin ich immer noch der Meinung: man hättes es auch unter DX9 hingekriegt, aber naja.