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

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

11

04.01.2007, 23:36

ohne vsync tritt tearing auf und das kann wirklich nervig sein.
mach einfach mal nen würfel der sich schnell dreht und schau ihn ohne vsync längere zeit an, dann weist du was ich meine ;)

12

05.01.2007, 15:12

Um ein paar Fragen zu beantworten:
Ich hatte des Programm auf Volbildmodus und 60 Hz laufen, daher ist es unwahrscheinlich, dass die Bildfrequenz die FPS-Messung verfälscht hat.
Ich kann leider nicht sagen, ob ich vsync an oder aus hatte, da ich keine Ahnung hab wie ich das einstellen kann.
Aber noch eine Sache zu meinem eigentlichen Problem:
Wenn ich alles komplett in einen großen Vertex(Index)Buffer schreibe, wird es etwas komplizierter ne WeltMatrix zu schreiben (man kann auch sagen unmöglich, außer ich will nur eine Matrix verwenden). Daher müsste ich die Welttransformation vorher selbst anwenden, und verwerfe damit eigentlich den Vorteil der Tranformationspipeline...

TheOffspring

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

13

05.01.2007, 16:21

C-/C++-Quelltext

1
PresentParams.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE;

damit machst du vsync aus.

wenn du die fixed function pipeline verwendest ist klar, dass alles in einen großen buffer zu stopfen mit problemen verbunden ist.
da musst du dann abwägen was im konkreten fall schneller ist, vertices von hand transformieren und nur einmal DrawPrimitive(), oder jedes extra zeichnen, oder ein kompromiss (z.b. ein buffer für 10 objekte)...
mit mehreren streams und shadern kann man da aber unter umständen viel rausholen. und direct3d 10 wird hier viel neues bringen ;)

Werbeanzeige