Programmieraufwand für ein Spiel wie GTA San Andreas
-
Sgt. Nukem schrieb:
Laß uns nur bitte zu einer 600-€-GraKa und 150-€-SoundKa auch eine 100-€-PhyKa kaufen...
Klar, vielleicht kriegst Du sie ja im Bundle mit einer Textverarbeitungskarte? :p
-
Jester schrieb:
Sgt. Nukem schrieb:
Laß uns nur bitte zu einer 600-€-GraKa und 150-€-SoundKa auch eine 100-€-PhyKa kaufen...
Klar, vielleicht kriegst Du sie ja im Bundle mit einer Textverarbeitungskarte? :p
Warum denn?! Dual-Core ist doch jetzt schwer im Kommen...
*SCNR*
Lieber würde ich den kompletten TCP/IP Stack in Hardware gegossen sehen.
-
Jester schrieb:
Sgt. Nukem schrieb:
Laß uns nur bitte zu einer 600-€-GraKa und 150-€-SoundKa auch eine 100-€-PhyKa kaufen...
Klar, vielleicht kriegst Du sie ja im Bundle mit einer Textverarbeitungskarte? :p
Dazu gibts dann noch eine HTML-Karte, eine Java-VM-Karte und eine Spracherkennungskarte. Für jede dieser Karten wird dann ein Verein gegründet, der eine API festlegt und deren zukünftige Entwicklung begleitet. Die Programmierer müssen geschult und neue Bücher geschrieben werden. ABM für arbeitslose Akademiker also.
Das lustige daran ist dass die zukünftige Versionen der Karten noch besser programmiert werden können und sich so die Karten langsam aufeinander zu entwickeln.
-
Jo ihr habt recht.
IBM hätte damals bei der Entwicklung des IBM PCs die Erweiterungsslots ausbauen sollen, und Erweiterungskarten zur Customisierung verbieten sollen.
Sound und Grafik gehen direkt über MMIO von der CPU über ein paar simpelste DACs ohne weitere Intelligenz nach draussen.
-
Sgt. Nukem schrieb:
Also ruf' bitte nVidia und ATI an, die simplen VESA-kompatiblen Karten tun es jetzt wieder, schließlich sind Prozessoren nunmal nicht in der Entwicklung stehen geblieben.
Lies selber nach, irgendwo weiter oben habe ich geschrieben, das Grakik- und Soundkarten ihren Sinn haben :p
Aber wie jemand anders schon gepostet hat, für jedes Extra ne eigene Karte ist nicht gerade sinnvoll.Kollisionsabfrage vs. die komplette Renderpipeline, was hat da wohl mehr ne Daseinsberechtigung ...
-
Pellaeon schrieb:
Lies selber nach, irgendwo weiter oben habe ich geschrieben, das Grakik- und Soundkarten ihren Sinn haben :p
Klar. Copyright by Pellaeon.
Pellaeon schrieb:
Aber wie jemand anders schon gepostet hat, für jedes Extra ne eigene Karte ist nicht gerade sinnvoll.
Sicher nicht, so lange ein gewisser Kosten/Nutzen-Faktor überschritten ist.
Pellaeon schrieb:
Kollisionsabfrage vs. die komplette Renderpipeline, was hat da wohl mehr ne Daseinsberechtigung ...
Die Renderpipeline, ganz klar. Aus diesem Grund wurde sie ja auch zuerst in Hardware gegossen, und Consumer-3D-Karten existieren seit 'ner Dekade.
Physik war bis vor "kurzem" ja auch nicht wirklich ein Thema.Aber die Zeiten ändern sich nunmal:
Die Unreal Engine 3
<a href= schrieb:
http://www.unrealtechnology.com/html/technology/ue30.shtml"># Renderable Mesh: We build renderable meshes with 3,000-12,000 triangles, based on the expectation of 5-20 visible characters in a game scene.
# Detail Mesh: We build 1-8 million triangle detail meshes for typical characters. This is quite sufficient for generating 1-2 normal maps of resolution 2048x2048 per character.
# Bones: The highest LOD version of our characters typically have 100-200 bones, and include articulated faces, hands, and fingers.bietet um die 10.000 Dreiecke pro Charakter, mit bis zu 20 gleichzeitig sichtbaren Charaktern.
Auch die Umwelt hat sich von der Handvoll Polys für ein komplettes Quake-1-Level gewandelt, wo Doom 3 diese Menge in einer einzelnen Röhre verbrät.
Dicke Bounding-Box-Tests sind auch nicht mehr gewünscht. Und eine Doom-3-like Triangle-genaue Kollision mit oben genannten Ausmassen lutscht nun mal ordentlich was weg.
Auch ist Genauigkeit wichtig. Das Nutzen von bei der Berechnung performanz-steigernd wirkender Extensions wie SSE(2) zieht immer Context-Wechsel (Hin- und Herschalten) in der CPU nach sich, so daß für jedes Umschalten ein ordentlicher Batzen Takte nur dafür draufgeht.
Ein Physikprozessor wär' genau dafür ausgerichtet. Kann wenn er will auf 256-Bit-floats optimiert sein.
Oder stell' Dir den geilen See aus FarCry vor. Und damit meine ich nicht nur die wundervoll per Shader in Szene gesetzten Wellen, die leider nur "bells and whistles" sind. Sondern komplett interagierbares Wasser. Wasserbombem lassen riesen Flutwellen entstehen.
Oder Büsche die sich beim Durchgehen physikalisch korrekt umbiegen, beim Zurückdrallen Blätter verlieren, die vom thermischen Auftrieb erstmal in die Luft gerissen werden. *jauchz*
Oder was auch sehr schön aktuell ist: Von der Physik beeinflusste Soft-Partikel-Systeme. Rauch steigt nicht einfach nach oben, sondern wird komplett vom Wind beeinflusst. Triebwerke erzeugen Strudel im Rauch wie bei Die Hard 2.Also ich will sowas!
-
...und später kann man dann mit dem Raketenwerfer den Flusslauf ändern!!
Achja: Und es ist ja nicht so, daß Dein DualCore Däumchen drehen muß. Bis es den AI-Prozessor gibt, sollten sie die übriggebliebende Leistung erstmal für KI verbrauchen.
Wenn meine eigenen Leute mir im Weg rumstehen ist die ganze "Immersion" nämlich für'n Arsch!!
-
Jo *Rofl* Unreal-Macher haben schon immer gern einfach mal die Polygonanzahl in die Höhe getrieben^^. Doom3-Engine hat da ja neue Wege aufgetan(Bump, - Normalmapping und was da so immer besser gemacht wird)
-
Pellaeon schrieb:
Jo *Rofl* Unreal-Macher haben schon immer gern einfach mal die Polygonanzahl in die Höhe getrieben^^. Doom3-Engine hat da ja neue Wege aufgetan(Bump, - Normalmapping und was da so immer besser gemacht wird)
Detail Mesh: We build 1-8 million triangle detail meshes for typical characters. This is quite sufficient for generating 1-2 normal maps of resolution 2048x2048 per character.
-
Sgt. Nukem schrieb:
Jo ihr habt recht.
IBM hätte damals bei der Entwicklung des IBM PCs die Erweiterungsslots ausbauen sollen, und Erweiterungskarten zur Customisierung verbieten sollen.
Sound und Grafik gehen direkt über MMIO von der CPU über ein paar simpelste DACs ohne weitere Intelligenz nach draussen.
Vielleicht kannst Du einfach mal ohne jegliche Polemik und sonstigen Kram erklären, warum es so verdammt sinnvoll ist für jeden Furz eine eigene Erweiterungskarte zu haben?
Bei der GraKa ist das einzusehen, weil hier heftige Manipulationen pro Pixel nötig sind. Bei der Physik kann das aber schon Polygonweise erfolgen und ist damit kein wirkliches Argument mehr. Die Soundkarte, ach ne. Das ist mir jetzt zu blöd zu begründen und Du weißt eh was wir meinen.
-
Sgt. Nukem schrieb:
Pellaeon schrieb:
Jo *Rofl* Unreal-Macher haben schon immer gern einfach mal die Polygonanzahl in die Höhe getrieben^^. Doom3-Engine hat da ja neue Wege aufgetan(Bump, - Normalmapping und was da so immer besser gemacht wird)
Detail Mesh: We build 1-8 million triangle detail meshes for typical characters. This is quite sufficient for generating 1-2 normal maps of resolution 2048x2048 per character.
Mag sein, aber dafür geht die Physik-Engine in Doom 3 besser^^
-
Jester schrieb:
Vielleicht kannst Du einfach mal ohne jegliche Polemik und sonstigen Kram erklären, warum es so verdammt sinnvoll ist für jeden Furz eine eigene Erweiterungskarte zu haben?
glaubst du es besser zu wissen was furz und was tornado ist, als die die sich bisher mit der cpu abquälen um ein wenig physik zu bekommen?
Jester schrieb:
Bei der GraKa ist das einzusehen, weil hier heftige Manipulationen pro Pixel nötig sind.
die ersten consumer-3d-grakas haben 0 nutzen gehabt, sie waren afaik manchmal sogar _langsammer_ als die cpu es wäre, weil sie eben generisch waren während die cpu spezialisiert für ein zeichenverfahren sein konnte. das änderte sich erst ab der voodoo für läppische 850DM.
Jester schrieb:
Bei der Physik kann das aber schon Polygonweise erfolgen und ist damit kein wirkliches Argument mehr.
kann es leider nicht, dynamische objekte werden heutzutage in fast allen spielen mit primitiven wie boxes,spheres usw. approximiert, weil eine polygon vs polygon prüfung so gut wie immer viel zu langsam wäre. schau dir nur an wie doom3 (was das macht) für lowpoly charaktäre hat im vergleich zu quake4 wo sie wieder auf boxen setzen.
Jester schrieb:
Die Soundkarte, ach ne. Das ist mir jetzt zu blöd zu begründen und Du weißt eh was wir meinen.
ja, soundkarten sind überflüssig. sie sind so verdammt überflüssig, dass viele konsolenhersteller sich immerwieder überlegen den sound dafür auf der cpu berechnen zu lassen und es dann nur wegen dem marketing doch nicht machen. sie sind so verdammt überflüssig dass manche hersteller von soundkarten schon alles auf der cpu berechnen lassen(per treiber) und nur noch reine digital->analog wandlung auf der karte machen. sogar creativ labs muss sich immer wieder blödsinn ausdenken um die karten noch zu verticken, wenn man das geld das man in einer soundkarte steckt, in eine bessere cpu stecken würde, hätte man weit mehr davon.
rapso->greets();
-
Pellaeon schrieb:
Mag sein, aber dafür geht die Physik-Engine in Doom 3 besser^^
jetzt weißt du auch weshalb die chars dort so sehr lowpoly sein _müssen_
rapso->greets();
-
rapso schrieb:
Pellaeon schrieb:
Mag sein, aber dafür geht die Physik-Engine in Doom 3 besser^^
jetzt weißt du auch weshalb die chars dort so sehr lowpoly sein _müssen_
rapso->greets();
Jo und trotzdem sieht es wohl nicht gerade sclecht aus oder? Zumindest was die engen Innenlevel angeht.
Nochmal zur Physik: ich bezweifel das die polygongenau Berechnung übrrhaupt nen Nährwert hat. Entsprechende Anzahl an Boundingboxen tuts auch. Wenns 1 mm daneben war merkt der Spieler das eh nicht. Um gleich vorzubeugen: ich meine mehr als eine oder 2 große Boxen, dass das zu ungenau ist, ist klar^^
-
Pellaeon schrieb:
Jo und trotzdem sieht es wohl nicht gerade sclecht aus oder? Zumindest was die engen Innenlevel angeht.
naja, bis auf das lowpoly schaut es super aus.
Pellaeon schrieb:
Nochmal zur Physik: ich bezweifel das die polygongenau Berechnung übrrhaupt nen Nährwert hat. Entsprechende Anzahl an Boundingboxen tuts auch. Wenns 1 mm daneben war merkt der Spieler das eh nicht. Um gleich vorzubeugen: ich meine mehr als eine oder 2 große Boxen, dass das zu ungenau ist, ist klar^^
klar, genug boxen würden es auch tun, die menge an boxen würde aber wiederrum nicht flüssig simulierbar sein. wenn du dir heutigen spiele anschaust dann siehst du dass nur ein paar momentelang physik für ein paar wenige objekte simuliert wird und sonst die ganze zeit aus ist.
der novodex prozessor dürfte einige schöne dinge endlich erlauben, dann müßten nicht alle frauen die in spielen vorkommen kurzhaarige brünette sein mit eingebackenem haarrapso->greets();
-
rapso schrieb:
Jester schrieb:
Bei der Physik kann das aber schon Polygonweise erfolgen und ist damit kein wirkliches Argument mehr.
kann es leider nicht, dynamische objekte werden heutzutage in fast allen spielen mit primitiven wie boxes,spheres usw. approximiert, weil eine polygon vs polygon prüfung so gut wie immer viel zu langsam wäre. schau dir nur an wie doom3 (was das macht) für lowpoly charaktäre hat im vergleich zu quake4 wo sie wieder auf boxen setzen.
"Es kann Polygonweise erfolgen" im Gegensatz zu: "Es muß pixelweise erfolgen." Wenn wir in Zukunft einen zweiten Prozessor (Dual-Core) zur Verfügung haben sollte sowas doch machbar werden, oder?
rapso schrieb:
ja, soundkarten sind überflüssig. sie sind so verdammt überflüssig, dass viele konsolenhersteller ...
Bei meiner Kaffee-Maschine wäre eine Soundkarte btw auch überflüssig.
Wir reden hier aber vom PC.
-
Jester schrieb:
"Es kann Polygonweise erfolgen" im Gegensatz zu: "Es muß pixelweise erfolgen." Wenn wir in Zukunft einen zweiten Prozessor (Dual-Core) zur Verfügung haben sollte sowas doch machbar werden, oder?
nein, leider nicht, bis 4cores kann man locker rechenleistung aufteilen. z.b. schafft man heutzutage mit direkt3D maximal 3000renderaufrufe pro frame damit ein spiel auf neusten cpus noch einigermassen flüssig läuft. also nur die aufrufe! (quelle ist nvidia und microsoft). der zweite core ist also schon verplannt für die abarbeitung der renderpipe.
im ganzen lässt sich das einfach aufteilen:
-scenegraphupdate
-culling
-renderjoblist
-lazyresourceloading
diese dinge sind relativ trivial unabhängig voneinander handhabbar.Jester schrieb:
Wir reden hier aber vom PC.
klingt fast als hättest du nicht verstanden was ich sagen wollte(my fault?). aber ich sage es gerne noch expliziter: audioprozessoren sind überflüssig. eine soundausgabemöglichkeit, also d/a-wandler ist vollkommen ausreichend.
rapso->greets();
-
rapso schrieb:
aber ich sage es gerne noch expliziter: audioprozessoren sind überflüssig. eine soundausgabemöglichkeit, also d/a-wandler ist vollkommen ausreichend.
rapso->greets();Warum kann nen DVD Player für 30€ wo das schnellste wahrscheinlich noch der Quartz mit 64Mhz ist, flüssig DVDs abspielen, während nen PC in der Klasse nur ne langsame Diashow zeigen würde? Wofür gibts DSP Prozessoren? Warum nicht überall ne schnelle CPU einbauen?
Speziallisierte Prozessoren haben ihre Daseinsberechtigung, sie erledigen das wofür sie entworfen wurden sehr gut, nicht mehr und nicht weniger. CPU's sind für allgemeine Arbeiten gut zu gebrauchen, aber es gibt viel bessere Spezialisten. Deshalb gibts auch getrennt Grafikkarte, Soundkarte, etc.
Theoretisch könnt das alles die CPU machen, aber um welchen Preis? Die Gesamtleistung wäre ja voll fürn Arsch.Genauso stehts halt mit der Physikkarte. Ich glaube manche unterschätzen ein wenig den Umfang einer wirklich guten Simulation. Früher hat auch Stereosound gereicht, aber Raumklang bietet einfach ein natürlicheres Empfinden. Genauso ist es mit der Physik. Haben früher simpelste Funktionen in Form das ein Stein fällt und nicht von allein hochfliegt ausgereicht, kann man heute damit kaum noch was gewinnen. Also muss etwas her was die Physik gut berechnet und was bieet sich mehr dafür an als ein spezialisierter Prozessor.
Mag sein das die Physikberechnung in Hardware früher oder später irgendwo integriert wird, aber der Schritt die Simulation wirklich in Hardware ablaufen zu lassen ist IMO richtig.
-
du zittierst den falschen, außer in bezug auf audio-cpus bin ja ja der gleichen meinung... nur die letzten 3postings gelesen? *Fg*
rapso->greets();
-
rapso schrieb:
du zittierst den falschen