Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

11

25.06.2011, 15:25

Der letzte Fall wäre klar, weil indexierte Vertices viel weniger Bus-Traffic verursachen. Aber wenn es sich um ein statisches Gelände handelt, dürfte da meiner Meinung nicht (viel) mehr bei rum kommen. Aber deswegen frage ich ja, ich bin mit der Technik auch nicht immer so up to date. Kann ja sein, dass Index-Buffer wegen Caching oder sonstewas doch merklich schneller ist.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

12

25.06.2011, 16:54

Macht denn das das Rendering an sich schneller? Wenn die Daten eh schon in den Grafik-Ram übertragen wurden macht es doch keinen Unterschied mehr an FPS ob ich mit oder ohne Index arbeite, oder?

Doch, sogar einen wesentlichen. Der nennt sich Vertex-Cache ;)
Natürlich setzt das voraus dass die Daten entsprechend dafür geeignet sind, aber selbst ein naiver Algorithmus sollte beim Erzeugen eines regelmäßigen Grid zumindest ein bisschen vom Cache profitieren.

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

13

25.06.2011, 22:42

Vor allem mit trianglestrips, damit kann man wohl am meisten vom cache profitieren ;) - geht gerade bei terrains recht gut

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

14

25.06.2011, 22:56

Indizierte Triangle Lists sind potentiell sehr viel optimaler als Strips. Das Märchen dass Strips das Optimum wären kommt noch aus Zeiten da es keine indizierten Primitive gab ;)
Bei einem Tristrip findest du immer maximal 2 Vertices im Cache, d.h. du hast im Idealfall (1 langer Strip) eine Missrate von 1/Triangle. Mit einer cacheoptimierten Trilist bekommst du Missrates um 0.6/Triangle zusammen.

Allerdings ist es bei nem regelmäßigen Gitter ja mehr oder weniger der naive Ansatz Strips zu generieren und vom Nutzen/Aufwand her sicher schon super. Eine richtige Cacheoptimierung mit raumfüllenden Kurven und so ist natürlich viel aufwändiger...

Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von »dot« (26.06.2011, 00:41)


BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

15

25.06.2011, 22:56

Mit der Aussage von dot kann ich ja noch mitgehen, aber wieso profitiert ein Triangle-Strip jetzt mehr vom Cache? Er macht weniger Zugriffe insgesamt, aber das heißt doch nicht, dass es vom Caching mehr profitiert.

Edit:
Und da war auch schon der dot schneller ;)
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Werbeanzeige