Thema:
Re:DC-zeit und Homebrew/Technik flat
Autor: strid3r
Datum:23.09.19 19:13
Antwort auf:Re:DC-zeit und Homebrew/Technik von b0b

>> Wo liegt das eigentlich genau? Hatte mal was von maximal ca. 30k Polygonen per frame gelesen, womit es wohl nichtmal bei der Hälfte dessen läge, was z. B. Virtua Fighter 4 auf der PS2 liefert bei gleicher Framerate. JSR wiederum scheint ja im 30fps Bereich das Maximum gewesen zu sein (und hat schon einen sehr auffälligen LoD). Die letzte Gen, bei der pps Vergleiche noch einigermaßen Aussagekraft besaßen. :)
>
>jepp, die nachfolgende Generation war so viel stärker, dass es da keinen Sinn mehr gemacht hat
>
>polygone per frame waren aber auch zu "PS2-Zeit" nicht sooo aussagekräftig, da die alle schon ziemlich unterschiedlich aufgebaut und gearbeitet haben.


Jo, soweit stecke ich dann allerdings gar nicht in der Materie drin, dass ich da wirklich differenzieren könnte. XD

>ja, DoA 2 wird sich in dem Bereich der 30k Polygonen bewegen. Das ganze dann eben in 60 fps. Eher wenige Spiele bewegten sich überhaupt im 30k Bereich und meist waren es keine (zumindest stabilen) 60fps titel. Bei DoA2 hat man Character-Modelle mit jew. 9000-10000 Polygonen.

Da fand ich es btw. interessant zu sehen, wie vergleichsweise verschwenderisch die ersten Fighter wie Tekken Tag auf der PS2 oder eben DoA2 waren im Vergleich zu späteren. Tekken 5 hatte ja offenbar nur noch 6-7k an Polygonen für Charaktere, weil man wohl einerseits effizienter wurde, aber sich auch mehr auf die Backdrops konzentriert hat. Trotzdem finde ich, dass DoA2 und TTT besser gealtert sind visuell, als viele der späteren 3D Fighter, gerade weil die Kämpfer so detailliert sind. Nebenbei imo auch das viel gescholtene Tekken 4 dank einer sehr sauberen Geometrie (und intelligent gewählten Schauplätzen) und dem Fokus auf vermeintlich spiegelnden Oberflächen.

>Die meiste Zeit über sind zwei vollständig geskinnte und animierte Modelle + Hintergrund + einige (wenn auch wenige) Sprites/Partikeleffekte. Ich hab irgendwo auch mal gelesen dass es immer pro Frame 4 Lichtquellen berechnet werden, 2 davon sind Point-Lights und 2 Directional-Lights. Da ich keine/bzw nur eingeschränkt specular effekte sehe, geh ich mal davon aus, dass pro Modell nur von einem Licht jew. die Specular-Werte berechnet werden. Da im Tag-Team modus dazu noch eine (oder zwei?) Figuren mit im Bild auftauchen können, sollten diese auch mitbedacht werden... Ach und die Schatten - eins pro Figur; wenn man näher betrachtet ist es der Schatten einer niedrigeren LODs/Auflösung
>Clipping wird auf der Dreamcast ja manuell gemacht, da sich die Kamera aber immer so bewegt, dass sie nie zu nah an die Spielfiguren kommt (es gibt bei Tina und Bass diese Würfe wo sie an den beinen den anderen charakter packen und sich um die achse drehen, da kommt die kamera schon sehr nahe an den near-clip bereich, bin aber relativ sicher dass dieser nie erreicht wird) - ergo spart man sich da immer das clippen der figuren. Also Clipping nur für die Arena ansich.


Danke, sind sehr interessante Insights, die ich sogar als nichtmal Laie noch einigermaßen raffe.

>Virtua Fighter 4 auf der PS2 hat pro Charakter einen etwas niedrigeren Polygoncount, ca 7500-9000 (im Vergleich zum Naomi original eben deutlich reduziert). Die guten Texturen u.a. lassen es aber dennoch besser aussehen als DoA2 imo.

Ich finde gerade die Texturen sind eigentlich der Schwachpunkt des VF4 Ports, da oft blass und man die Komprimierung ansieht. Eher finde ich die Geometrie beeindruckend, aber man sieht dem Spiel leider durchgehend an, dass es ein deutlich abgespeckter Port einer besseren Ursprungsversion ist. DoA2 ist da imo einfach stimmiger, auch wenn die Hintergründe evtl. etwas unspektakulär wirken im Vergleich.

>Soul Calibur auf der DC bewegt sich bei 4000p pro Chara, ebenso wie MK4 Gold (bei dem man einfach die knapp <1000p modelle der N64 version per Subdivide-Modifier einfach etwas runder gemacht hat XD)

SC sieht man den niedrigen Polycount auch an. Ist schade, dass Namco nicht später noch mehr auf der DC gemacht hat.

>auf der DC ist gutes und schnelles Transform & Lighting einfach extrem wichtig. Da nur eine CPU mit FPU zur verfügung steht ist von grosser parallelisierung nicht die Rede. Die SH4 CPU ist aber superskalar, heisst es kann mehrere Instruktionen gleichzeitig ausführen. Es kommt echt drauf an wie diese geplant sind und wie die Pipeline ausschaut. "Echtes" SIMD wie man es von Intel-CPUs heute kennt, ist nicht möglich, allerdings sind einige Sachen durchaus gut optimierbar - bsp eine Dot-Funktion ist schnell; eine Matrix*Matrix funktion ist langsamer, aber deutlich schneller als 4 Dot-Funktionen hintereinander. Also können für einige Sachen sowas wie 4x SIMD erreicht werden. Umdenken ist angesagt XD. Die CPU hat wie gesagt einen kompakten Instruktionsset. Die FPU hat nützliche dot oder etwa inverse square operationen, alledings etwa keine Cross-Produkt-Instruktion (was nützlich gewesen wäre).

Muss zugeben, dass das alles bereits vollkommen außerhalb meines Verständnishorizonts liegt, da ich mich mit Programmierung null auskenne. Ich werde es mal einem Kumpel zu lesen geben, für den es interessant sein dürfte (wobei er aktuell eher am N64 interessiert ist, aber auch DC Fan ist), damit es nicht ganz umsonst war. ;) Sorry.

>Die PS2 und die DC machen ja die gesamte T&L geschichte in Software, der GC und Xbox machen das in Hardware (Erscheinungsjahre der Konsolen und die jew. Grafikkarten auf dem PC Markt vergleichen; da hat sich in wenigen Jahren sehr viel verändert ;)). SEGA hatte ja in der Model3-Hardware schon Erfahrungen mit Hadware T&L, aber für Home-Breich war es 98 noch zu teuer. SH4 ist dafür deutlich performanter als die Model3-CPUs, also übernimmt der das. PS2 kann u.a. bei T&L aber die meiste arbeit auf die VUs abwälzen die einfach durchcrunchen, DC kanns eben nicht. Beide Kisten haben auch nur eine Textureinheit. Also will man auf einem Objekt mehrere Texturen (Blending o.ä.) muss man diese auch mehrmals zeichnen (multipass). PS2 ist quasi darauf ausgelegt, bei DC hat es deutliche Auswirkungen. DC kann Transparente Objekte sortieren und richtig darstellen, allerdings sind die Einbußen bei vielen kleinen Effekten oder mehreren über sehr grosse bereiche des Bildschirms signifikant (PVR architektur; gilt auch heute noch für mobile Platformen, allerdings halt nicht mehr so extrem). Das Fluten des Tankers in MGS2 mit den ganzen Partikeleffekten kann man auf der DC gleich knicken ;) Bump/normalmapping auf der DC ist ebenso immer multipass, ausserdem ist der Aufwand für das vorbereiten der jew. Fläche imo komisch (polare koordinaten)

Ah, wollte genau fragen, ob es eine einfache Erklärung dafür gibt, warum man gerade Reflexions- bzw. eher diese gefakten Glanz-Effekte auf der DC so selten zu sehen bekommt und wenn doch, diese dann oft deutlich simpler daherkommen und nicht so dominant sind, wie bei der PS2. Wenn ich es denn wirklich richtig verstanden habe, beantwortet der obige Absatz die Frage ja. Fake Glanz- und Reflexions-Effelte waren neben der Tiefenunschärfe imo so ziemlich das visuelle Alleinstellungsmerkmal der ersten PS2 Spiele (z. B. TTT und RRV), die sie grafisch direkt von DC Titeln abhoben. Habe mich immer gefragt, ob Ähnliches wie z. B. die Böden in Tekken Tag auch auf DC zumindest eingeschränkt möglich gewesen wäre. Bei Headhunter gibt's beim ersten Bosskampf ja auch Reflexionen in Fützen (wobei ich da diese Beschränkung der Reflexion, die ja nur eine Dopplung der Geometrie ist, auf diese kleinen Bereiche so interessant finde) die dem sehr nahe kommen, aber sowas findet man wirklich selten bei DC Titeln. Was vergleichbares wie diese Einkaufszentren in Tekken 4 mit den Ganzen Glanz- und Metalleffekten auf den Oberflächen gibt es ja nichtmal ansatzweise und wäre dann wohl auch nicht drin gewesen.
War auch im Nachhinein erstaunt zu lesen, dass Bump Mapping unterstützt wurde. Anwendung gefunden hat es ja offenbar nie.

>btw. die 8MB VRAM beschränken das maximum was DC pro Frame zeichnen kann. Framebuffer für die Auflösung und Farbtiefe, der speicher für PVR-tile-binning, alle Texturen und alle Polygon-Informationen die man in dem Frame verwendet MÜSSEN beim rendern in den 8MB liegen.
>bei der PS2 muss in den 4MB der Framebuffer (+depthbuffer) liegen. In den Rest der 4MB werden Texturen reingestreamt, per VUs die Vertices transformiert und in den Framebuffer gerendert. nächste textur gestreamt, ... in den framebuffer gerendert usw usw. kannst also seeehr viele Polygone per Frame rendern (wenn du übertreibst bist du halt bei 1 frame pro sekunde oder so ;)


Vielen Dank für die ganzen Infos. In meinem Falle wohl leider teils Perlen vor die Säue, da ich da wie gesagt nichtmal Laie bin, aber gibt sicher einige Leute hier, die damit mehr anfangen können. :)


< antworten >