[quote:e463f534dc="Sp00kyFox"]so funktioniert das ganze aber nicht. ansonsten bringt nämlich triple buffering (kurz: tp) nichts. die idee beim tp ist ja gerade, dass man die performance-einbrüche beim vsync mit double buffering (kurz: db) umgeht. würde die gpu beim tp nachdem es den sekundären backbuffer auch gefüllt hat einfach warten, so würde tp keinen sinn machen.
Ist letztendlich eine Frage der Definition, ich ging von zwei unterschiedlichen Arten des TB aus.
TB ist auch mit Lag bzw. Warten sinnvoll: Wenn einzelne Frames länger zur Berechnung brauchen bekommt man damit leichter eine konstante Framerate.
Zitat: bzgl ausgelassener frames.. ich schätze mal du dachtest da vlt unbewusst an 2d-games. dort ist es natürlich schlecht so etwas zu tun, da in den frames einzelne animationsphasen zu sehen sind, welche dann übersprungen werden. allerdings haben 2d-games auch üblicherweise die eigenschaft, dass sie mit einer absolut konstanten framerate laufen, sodass sich die ganze problematik ohnehin nicht stellt.
Ich habe schon an 3D Spiele gedacht. Es hängt vom Fall ab. Ist die GPU unterfordert und kann sehr hohe Frameraten produzieren fällt das Auslassen von Frames kaum oder gar nicht auf und verringert den Lag.
Schafft die GPU aber in etwa die Displayrefreshrate (oder einen Teiler davon) führt das Auslassen von Frames zu einem schwankenden Abstand der Frames (bzw. dem Zeitpunkt wann diese generiert wurden). Das führt imo zu einer "ruckeligen" Darstellung, ähnlich wie wenn z.B. auf einem 60Hz Display 40fps ohne Tearing dargestellt werden sollen.
Zitat: denn wie schon gesagt, benötigt computergrafik generell mindestens einen buffer um das gerendertes bild irgendwo zu speichern und abrufen zu können, ohne gibts keine anzeige
Aktuelle Systeme funktionieren so, aber das ist kein Muss. Alte Systeme hatten z.T. nur eine Zeile als Puffer. |