PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Warum wird Tesselation so spärlich eingesetzt?


Felixxz2
2013-07-18, 21:13:17
Hallo Jungs,

mich beschäftigt schon länger die Frage warum auch neuere DX11 Games keinen oder nur wenig Gebrauch von Tesselation machen. Immerhin gibts die entsprechenden Karten seit 2009 und die 480 hatte dann 2010 schon ordentlich Tesspower. Dennoch setzen erst neueste Titel wie Crysis 3 Tesselation sichtbar ein und auch dort sind z.B. die Charakterköpfe noch immer sehr eckig. Warum keine LOD-abhängige, aber durchgängige 4 Tesselation, das würden selbst alte Radeons gut packen. Und selbst ne detailtesselation für Charaktere etc. findet man selten. Dann noch Crytek mit ihrem Tessdisaster bei Crysis 2. Oder BF3, das nur irgendwelche Berge tesseliert.

Gibts dafür technische Gründe? Ist das soviel Arbeit, dass in der Engine umzusetzen? Oder reicht die Hardware noch nicht aus für ne Gesamttesselation? Kann man da Besserung erwarten?


mfg

PrefoX
2013-07-18, 21:27:22
ich finds schlecht, da polys entstehen die man einfach nicht brauch und dadurch total viele ressourcen verbraten werden, dafür hat es den vorteil vom besseren LOD.

dargo
2013-07-18, 21:47:03
Weil der kleinste gemeinsame Nenner (aktuelle Konsolengen) es nicht kann. Ich denke erst mit den neuen Konsolen wird man öfter (eventuell sogar durchgehend) tessellierte Games sehen.

boxleitnerb
2013-07-18, 22:33:22
Bei Crysis 3 hab ich viel weniger von Tessellation bemerkt als bei Crysis 2. Gerade bei Mauern gab es einen ordentlichen Rückschritt, was ich sehr schade finde. Ich würde mir generell mehr plastische Oberflächen wünschen. Natürlich nur dort, wo es Sinn macht.

aufkrawall
2013-07-18, 22:35:38
ich finds schlecht, da polys entstehen die man einfach nicht brauch und dadurch total viele ressourcen verbraten werden
Ob Ekel-POM besser ist?
Wenn man sich ansieht, wie viel das Silhouetten-POM bei Crysis 3 frisst und deshalb quasi gar nicht im Spiel vorkommt...

Coda
2013-07-18, 22:45:16
Es frisst schon ziemlich viel Performance und man müsste wirklich seine ganze Pipeline darauf auslegen um wirklich davon zu profitieren.

Ich denke das wird wieder so ein Ding was erst viel Jahre später wirklich zur Geltung kommen wird.

Knuddelbearli
2013-07-18, 22:52:01
naja so wie ich es verstanden habe ist es aber bei einfachen Strukturen ( zB Ziegelwand ) weder extrem viel Aufwand noch extrem teuer ( natürlich tesseliert man eine ziegelwand nicht mit 32 oder so sondern mit max 8 fach )
gerade bei Dishonored hat mich das aber öfters mal gestört. Im großen und ganzen ein hübsches Spiel aber die Wände gehen ja gar nicht. Schöne Ziegelstrukturen aber dann einfach nur flach :-/

Felixxz2
2013-07-18, 23:12:06
Also muss ich auf die Next Gen und neue engines warten?

del_4901
2013-07-18, 23:21:39
Tessellation ist einfach lahm.

DaBrain
2013-07-18, 23:30:10
Ich denke viele Leute haben da einfach eine falsche Erwartungshaltung.

Tesselation = Mehr Detail ...

PrefoX hat vollkommen Recht mit seiner Aussage. Denn im Grunde könnte ein Grafiker, diese Details viel optimierter an den entsprechenden Stellen einbauen.

Für hochauflösende Modelle brauchen wir keine Tesselation! ;)

Der Vorteil von Tesselation ist, dass Grafiker recht wenig Arbeit kostet. (Was man nicht optimieren kann, muss man nicht optimieren.) Und der dynamische Polycount lässt das unschöne LOD-Ploppen wegfallen.
Für Landschaften ist es sehr gut und unkompliziert zu anwendbar.

Zuletzt hatte ich Tesselation auf einem 1st person Waffenmodel gesehen... Das war meiner bescheidenen Grafiker-Meinung nach ziemlich bescheuert.

boxleitnerb
2013-07-18, 23:41:38
Kriegt man das Aufploppen auch ohne Tessellation gut in den Griff? Das ist nämlich selbst bei aktuellen Spielen ein ziemliches Ärgernis.

kunibätt
2013-07-19, 04:15:31
Je nach dem, was man unter in den Griff kriegen verstehst.
Du als User kannst halt die LOD-Distanzen weit nach hinten verschieben oder
gleich abstellen. Das hilft zwar gegen das Ploppen kostet aber ziemlich viel (CPU)-Leistung und effektiv hast du dann eigentlich auch kein LOD mehr :freak:

Tesseract
2013-07-19, 04:40:12
Für hochauflösende Modelle brauchen wir keine Tesselation! ;)
dafür vram und bandbreite. dieser logik nach braucht man auch keine GPUs weil die CPU eh alles brechnen kann...

boxleitnerb
2013-07-19, 07:18:33
Je nach dem, was man unter in den Griff kriegen verstehst.
Du als User kannst halt die LOD-Distanzen weit nach hinten verschieben oder
gleich abstellen. Das hilft zwar gegen das Ploppen kostet aber ziemlich viel (CPU)-Leistung und effektiv hast du dann eigentlich auch kein LOD mehr :freak:

Damit meine ich sowas wie bei Nvidia Endless City Demo. Mehr Details je näher man kommt, keine abrupten Übergänge.

aufkrawall
2013-07-19, 10:28:50
dafür vram und bandbreite. dieser logik nach braucht man auch keine GPUs weil die CPU eh alles brechnen kann...
Ist auch ärgerlich, wenn dabei Psychos Kopf immer noch eckig aussieht.

Ich bezweifle, dass mehr Tesselation sehr teuer wäre. Muss ja nicht gleich alles unendlich detailliert sein, aber so was wie eckige Bäume, die eh schon recht einfach aufgebaut sind, muss doch wohl echt nicht mehr sein. Zudem kann man doch mit dem Feature ganz easy skalieren.

Coda
2013-07-19, 11:05:10
Allein dass der Hull- und Domain-Shader vorhanden ist sorgt auf AMD schon für Einbrüche. Da müssen nicht einmal mehr Dreiecke dabei raus kommen.

Iruwen
2013-07-19, 11:16:47
Kann man damit nicht neben Wasser auch dynamisches Terrain und sowas machen? Sowas kann man ja nicht PC-Exklusiv machen wenn es Gameplayrelevant ist, also wären da die Konsolen die Bremse. Wie macht BF4 bzw. Frostbite 3 eigentlich das realistische Wasser, da ändert sich mit den Wellen ja offenbar auch die Kollisionsabfrage so dass Boote und Spieler mitschaukeln?

TheRaven666
2013-07-19, 19:23:21
Weil der kleinste gemeinsame Nenner (aktuelle Konsolengen) es nicht kann. Ich denke erst mit den neuen Konsolen wird man öfter (eventuell sogar durchgehend) tessellierte Games sehen.

Ding ding ding! We have a winner!

Rooter
2013-07-19, 23:29:34
Dazu werfe ich jetzt einfach mal das alte TruForm von AMD (http://www.forum-3dcenter.org/vbulletin/showthread.php?t=542999) in den Ring, das leistete Ähnliches schon vor 10 Jahren.
"Ähnliches" meint dabei, damit wären ~90% der Anwendungsfälle von Tesselation ("Zeuch runder machen...") abgedeckt.

MfG
Rooter

Woppadaq
2013-07-20, 11:34:24
Also ich schalt bei The Secret World Tesselation immer an, da wird vor allem der Boden detailreicher. Kostet m.E. nur unwesentlich Rechenpower.

PrefoX
2013-07-20, 12:51:49
Naja die 3D Artists können auch in 3DSMAX/Maya etc. auch tesselieren (subdivision surface) und dann brauchs die graka auch nicht mehr machen.

Es macht aber echt keinen Sinn das zu nutzen. Lieber von Hand die mehr Polys richtig zu platzieren als überall 4x mehr Polys zu haben. mit guter Handarbeit macht man mit der doppelten Menge an Polys viel mehr als mit einfacher subdivision.

Wenn die Tesselation aber nur auf bestimmte Teile eines Models angewendet werden könnte, DANN würde sich das echt richtig lohnen.

http://abload.de/img/tessellation_an_3ttj7l.jpg

Ein Hammer Beispiel, wie schlecht das Ergebnis doch ist, obwohl dort 8x mehr Polys sind als notwendig. (es wurden 3x tesseliert = 64x mehr polys, mit normaler Handarbeit hätten 8x mehr polys gereicht)

http://www.pcgameshardware.de/screenshots/original/2009/10/Tessellation_aus_3.jpg

Atma
2013-07-20, 13:23:47
Also ich schalt bei The Secret World Tesselation immer an, da wird vor allem der Boden detailreicher. Kostet m.E. nur unwesentlich Rechenpower.
Nur leider ist der DX11 Modus von TSW eine ziemliche Katastrophe (Mikroruckler ahoi).

kunibätt
2013-07-20, 15:03:49
@ Prefox:
Der Punkt ist, dass es ziemlich CPU-lastig ist einfach hohe Polymeshes zu nehmen, dazu wird es immer schwieriger solche Objekte effizient zu Unwrapppen.
Das es wenig Sinn macht alles durch die Bank durch zu Tesselieren sehe ich ähnlich, erachte es aber als großen Vorteil bei organischen Objekten.

Fragman
2013-07-20, 23:38:20
Ein Hammer Beispiel, wie schlecht das Ergebnis doch ist, obwohl dort 8x mehr Polys sind als notwendig. (es wurden 3x tesseliert = 64x mehr polys, mit normaler Handarbeit hätten 8x mehr polys gereicht)



bedeutet aber auch viel mehr artist time. 8x mal mehr polys, mehr das man per hand optimieren muss. duerfte von den kosten her sinnvoller sein es einfach ueber alles drueber zu geben und auf bessere hardware zu draengen.


wenn ich hier aber die comments der coder lese frage ich mich weshalb man das so duemmlich in hardware gegossen hat?

Sven77
2013-07-21, 00:41:33
Naja die 3D Artists können auch in 3DSMAX/Maya etc. auch tesselieren (subdivision surface) und dann brauchs die graka auch nicht mehr machen.

Es macht aber echt keinen Sinn das zu nutzen. Lieber von Hand die mehr Polys richtig zu platzieren als überall 4x mehr Polys zu haben. mit guter Handarbeit macht man mit der doppelten Menge an Polys viel mehr als mit einfacher subdivision.

Wenn die Tesselation aber nur auf bestimmte Teile eines Models angewendet werden könnte, DANN würde sich das echt richtig lohnen.

http://abload.de/img/tessellation_an_3ttj7l.jpg

Ein Hammer Beispiel, wie schlecht das Ergebnis doch ist, obwohl dort 8x mehr Polys sind als notwendig. (es wurden 3x tesseliert = 64x mehr polys, mit normaler Handarbeit hätten 8x mehr polys gereicht)

http://www.pcgameshardware.de/screenshots/original/2009/10/Tessellation_aus_3.jpg
Was du da laberst ergibt in keinster Weise Sinn..

M4xw0lf
2013-07-21, 14:36:51
Die Implementierung lässt auch häufig noch sehr zu wünschen übrig. Sehr schönes Beispiel: http://www.pcgameshardware.de/Tomb-Raider-PC-232630/Tests/Tomb-Raider-PC-Test-1058865/
Die Geometrie von diesem Baum ist monströs schlecht, und mit Tesselation sieht er dann aus wie aus Würsten zusammengeklebt. Fail³.

Felixxz2
2013-07-22, 02:09:26
@ Prefox:
Der Punkt ist, dass es ziemlich CPU-lastig ist einfach hohe Polymeshes zu nehmen, dazu wird es immer schwieriger solche Objekte effizient zu Unwrapppen.
Das es wenig Sinn macht alles durch die Bank durch zu Tesselieren sehe ich ähnlich, erachte es aber als großen Vorteil bei organischen Objekten.

Das war eben auch der Punkt, den ich im Hinterkopf hatte. Einfach ohne Tesselation doppelt oder viermal so viele Polys zu benutzen, belastet eben CPU und PCIe enorm.

disap.ed
2013-07-22, 08:44:25
Wird dieses Problem eigentlich mit dem gemeinsamen Adressraum bei APUs gelöst?

Hades11
2013-10-28, 20:02:57
Ich bezweifle, dass mehr Tesselation sehr teuer wäre. Muss ja nicht gleich alles unendlich detailliert sein, aber so was wie eckige Bäume, die eh schon recht einfach aufgebaut sind, muss doch wohl echt nicht mehr sein.
genau das meine ich auch! in Skyrim hab ich bei der Magierakademie beim Questanfang eine halbe Stunde lang den Kreis gesucht auf den ich einen zauber wirken sollte bis ich gemerkt hab dass die das 8-Eck meinen :freak:

Coda
2013-10-28, 20:11:54
Das war eben auch der Punkt, den ich im Hinterkopf hatte. Einfach ohne Tesselation doppelt oder viermal so viele Polys zu benutzen, belastet eben CPU und PCIe enorm.
Da hast du was falsch verstanden. Mesh-Daten liegen normal im VRAM und der CPU ist es herzlich egal wieviele Dreiecke der Draw-Call hat.

Exxtreme
2013-10-28, 21:33:03
Weil der kleinste gemeinsame Nenner (aktuelle Konsolengen) es nicht kann. Ich denke erst mit den neuen Konsolen wird man öfter (eventuell sogar durchgehend) tessellierte Games sehen.
Weiss nicht ob das der Grund ist.

Ich weiss zwar nicht ob das nur auf Atis Truform beschränkt ist aber Tesselation kann auch Grafikfehler erzeugen weil die CPU von den per Tesselation erzeugten Dreiecken nix weiss. Und da kann es passieren, dass Objekte teilweise in anderen Objekten verschwinden weil die Kollisionsabfrage, die auf der CPU läuft mit nicht tesselierten Objekten arbeitet.

Coda
2013-10-28, 21:45:22
Man benutzt normalerweise sowieso stark vereinfachte Geometrie für Physik-Berechnungen. Das halte ich für ein irrelevantes Problem.

boxleitnerb
2013-10-28, 22:23:32
Ich spiele gerade Batman Arkham City, und auch da leider flache Mauern. Dafür ist der tessellierte Schnee eine wahre Augenweide.

ShadowXX
2013-10-29, 11:47:44
Weil der kleinste gemeinsame Nenner (aktuelle Konsolengen) es nicht kann. Ich denke erst mit den neuen Konsolen wird man öfter (eventuell sogar durchgehend) tessellierte Games sehen.
Da die neue ATI (aka Hawaii) auch nicht gerade das Tesselationswunder ist (siehe auch PCGHW Test), glaube ich da nicht unbedingt dran.

robbitop
2013-10-29, 11:54:59
Ist da (Hawaii) immernoch der Hullshader (?) der Flaschenhals?

dargo
2013-10-29, 12:57:39
Da die neue ATI (aka Hawaii) auch nicht gerade das Tesselationswunder ist (siehe auch PCGHW Test), glaube ich da nicht unbedingt dran.
Was die neue AMD bei Tess. leistet ist fast nebensächlich da man sich nach der Tess-Leistung der neuen Konsolen richten wird. Und da dort auch nur GCN drin ist... wird man imho mehr als Faktor 16x eh nicht sehen.

Dr@
2013-10-29, 14:40:05
Allein dass der Hull- und Domain-Shader vorhanden ist sorgt auf AMD schon für Einbrüche. Da müssen nicht einmal mehr Dreiecke dabei raus kommen.
Kann man eigentlich erklären, woran das liegt? Ist das ein Software oder ein reines Hardwareproblem?

Tesseract
2013-10-29, 15:48:30
Da die neue ATI (aka Hawaii) auch nicht gerade das Tesselationswunder ist (siehe auch PCGHW Test), glaube ich da nicht unbedingt dran.

sie müssen keine wunder sein. das wichtigste ist, dass fast 100% des marktes das komplette featureset unterstützt. von dort weg kann man tessellation von anfang an in den designprozess integrieren, selbst wenn nur moderate grade zur anwendung kommen.
und höhere grade sind dann meist nur noch eine einstellungssache.

ShadowXX
2013-10-29, 17:05:07
sie müssen keine wunder sein. das wichtigste ist, dass fast 100% des marktes das komplette featureset unterstützt. von dort weg kann man tessellation von anfang an in den designprozess integrieren, selbst wenn nur moderate grade zur anwendung kommen.
und höhere grade sind dann meist nur noch eine einstellungssache.
Da Sie auf den Konsolen jedes quentchen Leistung brauchen werden, werden Sie dies IMHO nicht für Tesselation verschwenden.
Da werden dann eher von vornherein mehr Polys verwendet.

aufkrawall
2013-10-29, 17:18:30
Ist denn das effizienter?
CPU-Leistung haben die auch nicht gerade im Überfluss.

Iruwen
2013-10-29, 17:23:18
Zwackt Tesselation überhaupt Leistung an anderer Stelle ab?
Traditional GPU designs use a single geometry engine to perform tessellation. This approach is analogous to early GPU designs which used a single pixel pipeline to perform pixel shading. Seeing how pixel pipelines grew from a single unit to many parallel units and how it gained dominance in 3D realism, we designed our tessellation architecture to be parallel from the very beginning.

GeForce GTX 400 GPUs are built with up to fifteen tessellation units, each with dedicated hardware for vertex fetch, tessellation, and coordinate transformations. They operate with four parallel raster engines which transform newly tessellated triangles into a fine stream of pixels for shading.

kunibätt
2013-10-29, 19:34:53
Ja. Wieviel es in deinem Fall genau sind, kannst du empirisch selbst überprüfen.

dargo
2013-10-29, 19:51:15
Da Sie auf den Konsolen jedes quentchen Leistung brauchen werden, werden Sie dies IMHO nicht für Tesselation verschwenden.
Da werden dann eher von vornherein mehr Polys verwendet.
Bei der CPU, wie schon aufkrawall sagt, wäre das ziemlich kontraproduktiv. Ich sehe das wie Tesseract... wichtig ist erstmal, dass alle Plattformen tessellieren können. Ob dann der eine oder andere Entwickler ne Extrawurst für nV am PC macht muss man abwarten.

Coda
2013-10-29, 19:56:32
Zwackt Tesselation überhaupt Leistung an anderer Stelle ab?
Ich wiederhole mich ungern, aber die Dreiecks-Anzahl eines Meshes ist der CPU wirklich scheiß egal.

Tesseract
2013-10-29, 20:32:01
Da Sie auf den Konsolen jedes quentchen Leistung brauchen werden, werden Sie dies IMHO nicht für Tesselation verschwenden.
Da werden dann eher von vornherein mehr Polys verwendet.
wieso verschwenden? schneller wird es pro polygon trotzdem sein und weniger vram und bandbreite braucht es auch.
nur weil es "nicht gratis" ist ist es nicht automatisch ineffizienter als der holzhammer.

auf modellierungsebene ist das ein werkzeug, das sowieso schon lange im einsatz ist. bis jetzt hat man aber bei der kreation tesselliert und das ergebnis dann in ein statisches mesh gespeichert. mit tessellation als basisfunktionalität kann man die software so anpassen, dass man beim kreieren nur stützpunkte, displacementmaps usw. speichert und das ganze dann auf der GPU des spielers den tessellator errechnen lässt und am ende ist das gleiche model billiger zu rendern und braucht weniger platz auf der platte (und wenn man will kann man es dann noch beliebig viel genauer machen).

Coda
2013-10-29, 21:06:39
wieso verschwenden? schneller wird es pro polygon trotzdem sein
Eher nicht auf AMD-Hardware.

del_4901
2013-10-29, 22:05:14
Eher nicht auf AMD-Hardware.
Naja kommt drauf an, tendenziell würde ich aber auch nein sagen, besonders wenn es Artist controlled ist.

Felixxz2
2013-10-30, 03:41:19
Ich wiederhole mich ungern, aber die Dreiecks-Anzahl eines Meshes ist der CPU wirklich scheiß egal.

Braucht das dann nur Speicher und Durchsatz?

@AlphaTier

Bis 8x kann man ja doch ganz ordentlich auf ner Radeon tesselieren, auch im Bezug auf die Konsolen. Mehr zerstört ja zumindest aktuell auch ne 290X :freak: