Ob die Dreifachpufferung aktiviert werden soll oder nicht. Dreifache Pufferung von OpenGl AMD, was ist das – sollte ich es aktivieren oder nicht? (Dreifachpufferung, TripleBuffering)

Im Rahmen dieser Rezension werde ich Ihnen erklären, was Dreifachpufferung ist und welche Funktionen damit verbunden sind.

Der Kern des Problems. Bei der Bildgestaltung gilt es als optimal, dass zunächst die gesamte Fläche durch einen Hintergrund (z. B. durch weiße Farbe oder ein bestimmtes Bild) ersetzt wird und erst dann einzelne Fragmente darauf aufgebracht werden. Wenn Sie einen Puffer verwenden, aus dem Daten gelesen und geschrieben werden, treten Probleme wie Flackern des Bildschirms oder seiner einzelnen Elemente und das Auftreten von Lücken auf (der obere Teil des Bildes vom aktuellen, der untere Teil vom alten). ) und andere Mängel sind durchaus möglich.

Eine Lösung für dieses Problem ist die doppelte und dreifache Pufferung. Was es ist und warum es benötigt wird und wie es mit der vertikalen V-Sync-Synchronisation zusammenhängt, werden wir weiter betrachten.

Dreifache und doppelte Pufferung

Doppelte Pufferung

Doppelte Pufferung- Dies ist eine Methode, die die gleichzeitige Übertragung des fertigen Ergebnisses und die Bildung des nächsten ermöglicht.

Wie funktioniert Doppelpufferung in der Computergrafik? Es ist erwähnenswert, dass es zwei Optionen gibt, die beide das Problem des Flackerns und einiger anderer Mängel lösen, das Problem des Bildrisses jedoch nicht lösen. Der erste Fall besteht darin, dass das Bild zunächst im RAM des Computers erstellt und dann in den Monitorpuffer kopiert wird (aus dem dieser das Bild liest und auf dem Bildschirm anzeigt). Der zweite Fall ist, wenn die Grafikkarte zunächst zwei Puffer unterstützt, die sie ändert, ohne Daten zu kopieren, was deutlich schneller ist. In diesem Fall kommt es seltener zu Rupturen.

Es ist wichtig zu wissen, dass der primäre Puffer derjenige ist, in dem das auf dem Monitorbildschirm angezeigte Bild gespeichert wird. Mit sekundärem Puffer meinen wir den, in dem das Bild generiert wird (das Rendern erfolgt).

Dreifache Pufferung

Dreifache Pufferung ist eine Art Doppelpufferung, die dadurch gekennzeichnet ist, dass drei Datenpuffer verwendet werden.

Wie funktioniert Dreifachpufferung in der Computergrafik? Der Mechanismus selbst ist in vielerlei Hinsicht ähnlich, es werden jedoch nur drei Datenpuffer verwendet – ein primärer und zwei sekundäre. In diesem Fall ist es auch möglich, zusätzliche Grafikkartenpuffer als sekundäre Puffer der Methode zu verwenden, sofern vorhanden.

Warum ist das notwendig? Tatsache ist, dass die Grafikkarte während des Kopierens der Daten im Leerlauf ist. Dementsprechend löst ein zusätzlicher sekundärer Puffer dieses Problem, da zum Zeitpunkt des Datenkopierens das nächste Bild erstellt werden kann. Dadurch können Sie die FPS erhöhen.

Allerdings werden beide Technologien normalerweise mit V-Sync in Verbindung gebracht, und das aus gutem Grund. Schauen wir uns als nächstes an, warum.

Doppelte und dreifache Pufferung mit V-Sync

V-Sync wird in Verbindung mit doppelter oder dreifacher Pufferung verwendet, um das Problem des Bildrisses zu lösen. Der einzige Unterschied zur normalen Verwendung besteht darin, dass das Kopieren der Daten mit der Monitorfrequenz synchronisiert wird. Mit einfachen Worten: Wenn der Monitor Daten liest und anzeigt, ändert sich das Bild nicht.

Notiz Hinweis: Leser sollten wissen, dass V-Sync die Eingabeverzögerung erhöht.

Was sind die Vor- und Nachteile der doppelten Pufferung mit V-Sync?

Vorteile. Auf dem Bildschirm sind keine Lücken sichtbar. Wenn die Grafikkarte leistungsstark ist und ihre fps höher als die Monitorfrequenz ist, ist der Rückgang der fps möglicherweise nicht spürbar, da jedes Bild der Animation vor der Anzeige auf dem Monitorbildschirm gerendert (generiert) wird, wobei berücksichtigt wird Kopierverzögerung.

Minuspunkte. Unterm Strich kommt es neben dem Problem, dass die Grafikkarte beim Kopieren von Daten im Leerlauf ist, auch zu einer Verzögerung beim Warten auf das Zeichnen des Monitors. Dies bedeutet, dass die fps stark sinken können, wenn die Grafikkarte weniger Frames generiert als der Monitortakt. Beispielsweise können 40-45 fps auf 30 echte fps reduziert werden, da einige Frames in einem Taktzyklus des Monitors und einige Frames in zwei Taktzyklen des Monitors angezeigt werden. Bei weniger als 30 Bildern pro Sekunde kann die Reduzierung bis zu 15 Bilder betragen.

Der zweite wesentliche Nachteil besteht darin, dass schwankende reale fps der Grafikkarte im Spiel spürbar sein und zusätzlich zu einer übermäßigen Ermüdung der Augen führen können. Wenn es beispielsweise in einigen Szenen 40–50 fps und in anderen 20–30 fps gibt, bedeutet dies, dass die fps im Stil von „30 – 15 – 30 – 15 – 15 – 30 – 30“ abwechseln.

Was sind die Vor- und Nachteile der Dreifachpufferung mit V-Sync?

Vorteile. Wie Double, jedoch mit einigen Unterschieden. Tatsache ist, dass Sie durch die dreifache Pufferung das Problem der Leerlaufzeit beseitigen können, da die Grafikkarte das nächste Bild generiert, wenn der Monitor wartet oder Daten kopiert. Dies ist besonders nützlich, wenn die Grafikkarte entweder schnell oder langsam Bilder generiert (Es kann jedoch ein Nachteil in Form periodischer Auslassungen von Bildern aufgrund von V-Sync auftreten.)

Minuspunkte. Der erste Nachteil besteht darin, dass die Dreifachpufferung mehr Rechenressourcen erfordert. Der zweite Nachteil besteht darin, dass der Vorteil der dreifachen Pufferung verloren geht, wenn die Grafikkarte unter Berücksichtigung aller Verzögerungen immer schnell Bilder generiert. Dritte. Wenn der Computer „schwach“ ist, kann die Aktivierung dieser Methode zu einer Verringerung der tatsächlichen FPS führen. Dies geschieht aufgrund des ersten Nachteils, da mehr Rechenressourcen benötigt werden. In diesem Fall ist es besser, nicht nur die Dreifachpufferung, sondern auch V-Sync zu deaktivieren.

Pufferung ist eine Möglichkeit, den Austausch zu organisieren, nämlich die Eingabe und Ausgabe von Daten in Computergeräten und Computern. Der Puffer wird als Ort zum vorübergehenden Speichern von Daten verwendet. Während der Dateneingabe schreiben einige Geräte Daten in einen Puffer, während andere Daten aus einem Puffer lesen. Bei der Ausgabe ist alles genau umgekehrt.

Wo treffen wir auf Pufferung?

Nahezu alle Prozesse in einem PC hängen mit diesem Prozess zusammen. Für eine uninformierte Person ist es nicht leicht zu verstehen, was Pufferung ist. Es ist jedoch sehr einfach zu beobachten: Derselbe Film wird online heruntergeladen - Daten werden zwischengespeichert, der Film wird in den CACHE geladen und abgespielt, obwohl er nicht auf dem Computer liegt.

Dieser Vorgang ermöglicht es Prozessen, Dateneingabe und -ausgabe unabhängig voneinander durchzuführen. Aufgrund seiner Nützlichkeit wird die Pufferung in multifunktionalen Betriebssystemen eingesetzt.

Mehrere seiner Typen werden in der Computergrafik zur Eingabe, Ausgabe und Bildverarbeitung verwendet. Ihre Umsetzung erfolgt in Hardware oder Software.

Ein Beispiel für die Pufferung ist der Arbeitsspeicher des Modems, der zum vorübergehenden Speichern empfangener und gesendeter Dateien verwendet wird.
Ein Beispiel für Pufferung in Software sind Multitasking-Betriebssysteme, bei denen bei der Eingabe von Daten zum Drucken Dateien vorübergehend in die Druckwarteschlange heruntergeladen werden.

Fortgeschrittene PC-Benutzer müssen wissen, was Pufferung ist.
Im Bereich der Informationstechnologie gibt es immer oberflächliche Informationen und vertiefte Informationen. Nachdem Sie verstanden haben, was Pufferung ist, können Sie einen Schritt weiter gehen und ihre Typen genauer betrachten.

Es ist bekannt, dass es Doppel- und Dreifachpufferung gibt. Sie werden im nächsten Untertitel besprochen.

Dreifache Pufferung – was ist das?

In der Computergrafik handelt es sich bei diesem zur Diskussion stehenden Verfahren um eine Art Doppelpufferung. Der einzige Unterschied besteht in der Bildausgabemethode. Mit Triple können Sie Artefakte vermeiden oder deren Anzahl reduzieren. Auch bei der Bildausgabegeschwindigkeit gibt es Unterschiede zwischen Doppel- und Dreifachpufferung.

Die Dreifachpufferungsmethode ist auch eine Synchronisierung mit dem dritten Puffer, die hier als Methode zur Bereitstellung von freiem Platz für Änderungsanforderungen im Gesamtvolumen der Grafikausgabe verwendet wird. Es fungiert als eine Art Speicher. Die Dreifachpufferungsmethode erfordert mehr Ressourcen, bietet aber konsistente Bildraten.

Drei Puffer sind nicht die Grenze. Es sind jedoch nicht 4 oder mehr Orte zur temporären Speicherung heruntergeladener Dateien erforderlich; nur 3 davon funktionieren immer aktiv. Daher ist die dreifache Pufferung die beste Option.

Schauen wir uns an, was Pufferung in Spielen ist.

Pufferung wird auch zur Übertragung von Spielbildern verwendet. Die Spiele verwenden sowohl Double als auch Triple. Die doppelte Pufferung ist für schwächere PCs und Betriebssysteme gedacht, während die dreifache Pufferung für leistungsstärkere PCs und Betriebssysteme gedacht ist.

Wenn Sie auf einem schwachen Betriebssystem die dreifache Pufferung verwenden, kann es zu Störungen im Spiel kommen. Mit anderen Worten: Die Leistung hängt davon ab, welche Art von Prozess auf Ihrem Computer ausgeführt wird. Auch Spiele sind unterschiedlich und stellen unterschiedliche Anforderungen an PC und Betriebssystem.

Die Auswahl der Art der Pufferung ist recht schwierig, da Spielehersteller ihre Kreationen mit unterschiedlichen Methoden erstellen. Aus diesem Grund hört man in Gaming-Foren oft, dass ein bestimmtes Spiel mit Triple Buffering nicht gut funktioniert und umgekehrt.

Idealerweise sollten Hersteller die Systemanforderungen eines bestimmten Spiels, seine Kompatibilität mit verschiedenen Betriebssystemen, Pufferunterstützung usw. angeben.

Wenn der Hersteller keine konkreten Angaben zur Kompatibilität gemacht hat, können Sie dies selbst überprüfen. Auf jeden Fall verschwendet es nur Zeit und schadet dem Computer nicht. Eine Inkompatibilität kann fast sofort bemerkt werden, da sie sich in einer Hemmung der grafischen Visualisierung und einer schlechten Synchronisierung von Bild und Ton widerspiegelt.

Informationen zur Ausgabepufferung

Die Ausgabepufferung ist eine recht nützliche Sache. Diese Funktion besteht darin, die gesamte Ausgabe des Skripts zu stapeln, Cookie-Header und andere daraus resultierende spezifische Skripte hinzuzufügen. Nachdem die Informationsverarbeitung abgeschlossen ist, werden alle Daten in umgekehrter Reihenfolge an den Client gesendet, d. h. zuerst die Header, dann die Seite und dann das Ergebnis des Skripts.

Die Leistungsfähigkeit der Ausgabepufferung

  1. Senden von Cookies von absolut überall im Skript.
  2. Die Sitzung kann jederzeit beginnen.
  3. Komprimieren von Daten vor dem Senden an den Client.

Bitte beachten Sie, dass die Komprimierung zusätzliche CPU-Ressourcen erfordert. Die Übertragungsgeschwindigkeit erhöht sich jedoch um 40 % (abhängig von der Anzahl der Bilder und Texte). Es ist bekannt, dass Bilder viel schlechter komprimiert werden als Text. Die Ausgabepufferung ist standardmäßig nicht aktiviert.

Es gibt zwei Methoden, um die Ausgabepufferung zu aktivieren:

  1. Geeignet für diejenigen, die den Server selbst besitzen oder Zugriff auf die Datei php.ini haben. Sie müssen lediglich die Anweisung „output_buffering“ in dieser Datei finden und ihr den Wert „On“ zuweisen.
  2. Die zweite Möglichkeit besteht darin, ob_start() in einem Skript zu verwenden, dessen Ausgabe gepuffert werden muss.

Also haben wir herausgefunden, was Pufferung ist.

; Bildausgabemethode, die die Anzahl vermeidet oder verringert Artefakte.

Die dreifache Pufferung ermöglicht eine höhere Bildausgabegeschwindigkeit im Vergleich zu Doppelte Pufferung. In realen Anwendungen geht es dabei häufig darum, die Grafikvorgänge von der Synchronisierung mit der Bildwiederholfrequenz zu abstrahieren Monitor. In der Regel werden Bilder mit einer Rate gezeichnet, die unter oder über der Bildschirmaktualisierungsrate (variable Bildrate) liegt, ohne dass die üblichen Effekte auftreten (nämlich Flackern, Verschiebungen, Tearing). Als Programm Es ist nicht erforderlich, die Hardware abzufragen, um Bilzu empfangen. Der Algorithmus kann so schnell wie möglich ausgeführt werden. Dies ist nicht die einzige verfügbare Dreifachpufferungsmethode, aber die vorherrschende in der Architektur PC, wo die Geschwindigkeit des Autos stark variieren kann.

Eine weitere Methode der Dreifachpufferung besteht in der Synchronisierung mit der Bildschirmaktualisierungsrate, wobei der dritte Puffer einfach dazu dient, freien Platz für Änderungsanforderungen in der gesamten Grafikausgabe bereitzustellen. Hier wird der Puffer im eigentlichen Sinne genutzt, indem er als Speicher fungiert. Diese Methode stellt höhere Mindestanforderungen an Hardware, bietet aber eine konsistente (im Gegensatz zu variabler) Bildrate.

Bei der Dreifachpufferung werden drei Puffer verwendet, die Methode kann jedoch auf eine beliebige Anzahl von Puffern erweitert werden, die für die Anwendung erforderlich sind. Normalerweise bringt die Verwendung von vier oder mehr Puffern keinen Vorteil.

Enzyklopädisches YouTube

    1 / 3

    ✪ YouTube-Videos puffern

    ✪ Puffern von YouTube-Videos im Mozilla Firefox-Browser

    ✪ Sehen Sie sich Videos ohne Unterbrechungen online an!!!

    Untertitel

Nachteile der doppelten Pufferung

Wenn ein System über zwei Puffer A und B verfügt, kann es Puffer B anzeigen und gleichzeitig ein neues Bild in Puffer A erzeugen. Wenn das Bild in Puffer A bereit ist, muss das System warten, bis der Monitorstrahl zurückkehrt, um die Puffer zu wechseln. Diese Wartezeit kann mehrere Millisekunden betragen, in denen keiner der Puffer berührt wird. Sobald der vertikale Scan abgeschlossen ist, können Sie entweder die Puffer A und B austauschen und dann mit dem Aufbau eines Bildes in Puffer B beginnen (Seitenwechsel) oder Puffer A nach Puffer B kopieren und in Puffer A zeichnen.

Vorteile der Dreifachpufferung

Wenn das System über drei Puffer verfügt: A, B und C, muss es nicht warten, bis sich die Puffer ändern. Es kann Puffer B anzeigen, indem es ein Bild in Puffer A aufbaut. Wenn das Bild in Puffer A fertig ist, beginnt es sofort mit dem Aufbau eines Bilds in Puffer B. Wenn es eine Pause im vertikalen Scan gibt, wird Puffer A und Puffer B angezeigt zur Wiederverwendung freigegeben.

Einschränkungen der Dreifachpufferung

Wenn das System die Puffer immer in kürzerer Zeit füllt, als für die Anzeige des Puffers auf dem Bildschirm erforderlich ist, wartet der Computer unabhängig von der Anzahl der Puffer immer auf ein Monitorsignal. In diesem Fall hat die dreifache Pufferung keinen Vorteil gegenüber

Kehren wir zu unserem Beispiel mit einer Bildwiederholfrequenz von 75 Hz und 100 Bildern pro Sekunde zurück.
Wenn die vertikale Synchronisierung aktiviert ist, verschwinden Bildartefakte.
Wenn die Rendergeschwindigkeit in besonders komplexen Szenen auf etwa 60 fps reduziert wird und VSync aktiviert ist, sinkt die tatsächliche Bildberechnungsgeschwindigkeit um fast die Hälfte.

Mit anderen Worten: Vsync in Kombination mit doppelter Pufferung ist nur dann gut, wenn die Rendering-Geschwindigkeit nicht unter die Bildwiederholfrequenz fällt, denn in anderen Fällen sinkt die Leistung stark.

Stimmen Sie zu, es wäre seltsam, wenn Ingenieure keine Lösung für dieses Problem finden würden.
Um zu verhindern, dass die Rendering-Geschwindigkeit aufgrund des Wartens auf die Freigabe des Primärpuffers sinkt, wurde die Triple-Buffering-Technologie entwickelt – das heißt, dem oben beschriebenen Schema wurde ein weiterer Frame-Puffer hinzugefügt.
Dadurch muss die Karte nicht warten, bis der primäre Puffer frei wird, und berechnet das Bild in diesem dritten Puffer.

Die dreifache Pufferung funktioniert wie folgt (bei einer Rendergeschwindigkeit von 50 Bildern pro Sekunde und einer Bildwiederholfrequenz des Monitors von 75 Hz).
Der erste Frame befindet sich im Primärpuffer, zwei Drittel des zweiten Frames werden im Sekundärpuffer verarbeitet.

Nachdem der Bildschirm mit dem ersten Frame aktualisiert wurde, gelangt das letzte Drittel des zweiten Frames in den sekundären Puffer und ein Drittel des dritten Frames wird im dritten Puffer „gerendert“.
Nach der zweiten Bildschirmaktualisierung mit dem ersten Frame wird der zweite Frame in den primären Puffer kopiert und das erste Drittel des dritten Frames in den sekundären Puffer verschoben.

Die restlichen zwei Drittel von Frame drei werden im dritten Puffer verarbeitet, die erste Bildschirmaktualisierung erfolgt mit dem zweiten Frame und Frame drei wird vollständig in den sekundären Puffer übertragen.
Dieser Vorgang wird dann von Anfang an wiederholt.

Wie Sie leicht berechnen können, werden in diesem Fall in drei Bildwiederholzyklen zwei Bilder auf dem Bildschirm angezeigt, was zwei Drittel der Scanrate entspricht, also 50 Bilder pro Sekunde, und das ist die volle mögliche Rendergeschwindigkeit für das Beispiel fraglich.
Dank des Dreifachpufferungsschemas wird die Leerlaufzeit der Grafikkarte minimiert, was, wie wir sehen, zu sehr guten Ergebnissen führt.

Leider unterstützen nicht alle Computerspiele Triple Buffering.
Darüber hinaus beansprucht es Rechenressourcen und einen bestimmten Teil des Videospeichers.
Allerdings gibt es derzeit keine Alternative zu dieser Technologie, um qualitativ hochwertige Bilder bei niedrigen Rendering-Geschwindigkeiten zu erhalten.

Nach der Lektüre dieses Materials haben einige möglicherweise eine Frage: Lohnt es sich, die vertikale Synchronisierung in den Grafikkarteneinstellungen zu aktivieren, oder ist es besser, sie zu deaktivieren?
Auf diese Frage gibt es keine eindeutige Antwort.
Wenn Sie einfach nur sehen möchten, wozu Ihre Grafikkarte in der Lage ist, und einige synthetische oder Spieletests „durchführen“ möchten, ist es natürlich besser, VSync zu deaktivieren.

In diesem Fall werden Sie weder das Bild noch das Gameplay genießen, sondern lediglich Informationen über die maximale Leistung der Grafikkarte in bestimmten Maßeinheiten erhalten.
Übrigens werden alle GPU-Tests mit deaktivierter vertikaler Synchronisierung durchgeführt, sodass die Karte in realen Spielsituationen merklich langsamer sein kann, als es in einem bestimmten Test beschrieben wurde.

Wenn Sie ein Bild in höchster Qualität ohne Artefakte erhalten möchten, sollten Sie die vertikale Synchronisierung aktivieren.
Der einzige Nachteil dieser Lösung ist ein starker Leistungsabfall in besonders komplexen Szenen, wenn die Rendering-Geschwindigkeit niedriger wird als die Bildwiederholfrequenz des Monitors.

Dies kann nur behoben werden, wenn die jeweilige Anwendung dreifache Pufferung unterstützt. Andernfalls müssen Sie entweder VSync deaktivieren oder eine vorübergehend mäßige Leistung als unvermeidliche Tatsache akzeptieren.

Schauen wir uns das Beispiel des „Control Center“ für ATI-Grafikkarten (Catalyst Control Center) an, um zu sehen, wie die vertikale Synchronisierung und die dreifache Pufferung aktiviert oder deaktiviert werden.
Wir möchten Sie daran erinnern, dass Catalyst Control Center nur funktioniert, wenn die .NET Framework 1.1-Umgebung auf dem System installiert ist, die kostenlos von der Microsoft-Website heruntergeladen werden kann.

Die Verwendung dieses Dienstprogramms ist nicht erforderlich – alle ATI-Grafikkarten können mit der herkömmlichen „Systemsteuerung“ arbeiten.

Um auf die VSync-Einstellungen zuzugreifen, müssen Sie das 3D-Element im „Baum“ links und den Unterpunkt „Alle Einstellungen“ – den Abschnitt „Warten auf vertikale Aktualisierung“ – auswählen.
Die Standardeinstellungen sind: Vsync ist deaktiviert, kann aber durch eine laufende Anwendung aktiviert werden.

Dies ist die sinnvollste Einstellung und sollte in den allermeisten Fällen nicht geändert werden.
Wenn Sie den Hebel ganz nach links bewegen, wird VSync zwangsweise deaktiviert, und wenn Sie den Hebel ganz nach rechts bewegen, wird es zwangsweise aktiviert.
Die Position ganz links bietet die höchstmögliche Leistung, während die Position ganz rechts die höchste Qualität bietet.

Hier können Sie die vertikale Synchronisierung aktivieren. Wenn die Anwendung dies jedoch nicht erfordert, wird sie nicht verwendet.

Sie können die dreifache Pufferung aktivieren, indem Sie zum Punkt „3D“ und zum Unterpunkt „API-spezifisch“ gehen.
Hier wird sofort klar, warum nicht alle Spiele dieses Feature unterstützen: Triple Buffering ist nur für Anwendungen möglich, die mit der OpenGL-Programmierschnittstelle (API) arbeiten.
Die entsprechende Zeile finden Sie in den Einstellungen für diese API – der zweite Punkt von unten.
Standardmäßig ist die Dreifachpufferung deaktiviert.

Abschließend betonen wir noch einmal, dass alle oben genannten Punkte sowohl für CRT- als auch für LCD-Monitore gelten.
Trotz der grundlegenden Unterschiede in den Prinzipien der Bildausgabe handelt es sich bei einer Grafikkarte (also ihrem Treiber, ihrem Betriebssystem und ihrer spezifischen Anwendung) um denselben Gerätetyp, an den die erzeugten Frames mit einer bestimmten Frequenz gesendet werden.

Besitzer von Flüssigkristalldisplays haben jedoch mehr Glück: Bei diesen Monitoren beträgt die typische Scanfrequenz nur 60 Hz, und wenn Sie über eine leistungsstarke Grafikkarte verfügen, sinkt die Rendergeschwindigkeit in seltenen Fällen unter 60 fps.

Wir hoffen, dass dieser kurze Artikel Ihnen dabei geholfen hat, Antworten auf Fragen zu erhalten, die mit beneidenswerter Regelmäßigkeit in Grafikkartenforen auftauchen.
Wie Sie sehen, ist alles ganz einfach, aber auch mehrdeutig...

Kumulatives Windows 10-Update 1903 KB4515384 (hinzugefügt)



 

Es könnte nützlich sein zu lesen: