Was ist die Einstellung "VBOs verwenden"?

Im 14w29b-Snapshot gibt es eine neue Option im Menü "Video Settings" mit dem Namen "Use VBOs":

Bildbeschreibung hier eingeben

  • Wie kann ich einen Minecraft Server auf mehreren CPU Kerne ausführen?
  • Wie kann man sagen, wann sich ein Spieler nicht bewegt?
  • Habe nicht einen .minecraft Ordner auf Windows 10 PC
  • Wie kann ich Mobs im Minecraft-Multiplayer entwerfen?
  • Machen Sie Werkzeuge in Minecraft unzerstörbar
  • Der ganze Inhalt meines Schutzes explodierte, tötete mich und ließ meinen Schutz praktisch unversehrt. Wie konnte das passieren?
  • Die Snapshot-Aktualisierung besagt, dass die Aktivierung von "Vertex Pufferobjekten" Ihre FPS um 5% bis 10% im Durchschnitt erhöhen sollte.

    Ich suche nach einer einfachen Erklärung, was VBOs visuell machen und wie sie arbeiten.

  • Wie kann man sagen, wann sich ein Spieler nicht bewegt?
  • Kann ich die Brust des Apiaristen brechen, ohne dass meine Bienen verschütten?
  • Hinzufügen von Minecraft zum Steam mit 64bit JRE
  • Meine kundenspezifische Haut wird sich nicht ändern
  • Gibt es einen Weg, um Zombie-Pigmen von Minecart-Tracks im Nether zu behalten?
  • Ist die Längenerweiterung auf die Y-Achse im Nether?
  • 3 Solutions collect form web for “Was ist die Einstellung "VBOs verwenden"?”

    Die Antwort von Flaunting ist richtig, aber falls jemand interessiert ist, warum es effizienter sein könnte, ist hier eine Erklärung.

    Im unmittelbaren Modus (ich denke, das ist der Standardfall in Minecraft), wenn du einen Platz sagen willst:

    Einheit Platz

    Sie würden die folgenden Befehle jedes Frame (im Pseudocode)

    begin drawing draw line from (0,0) to (1,0) draw line from (1,0) to (1,1) draw line from (1,1) to (0,1) draw line from (0,1) to (0,0) end drawing 

    Für ein Quadrat ist das nicht viel, aber es könnte Millionen von Ecken in einer Szene geben, und sie können mehr Attribute (Farbe, normal etc.) haben. Dies ist eine Menge von Daten zu senden, um die GPU jeden Frame.

    Mit VBOS laden Sie alle Scheitel-Daten zu Beginn in den GPU-Speicher. Pseudocode könnte so aussehen:

     create VBO load (0,0) into VBO load (1,0) into VBO load (1,1) into VBO load (0,1) into VBO load (0,0) into VBO 

    Der OpenGL-Code gibt dir einen 'Namen' für diesen VBO (eine nicht null unsigned Integer Iirc). Sie können dann darauf hinweisen, wenn Sie das Quadrat zeichnen möchten. Also jedes rahmen, du musst nur einen draw-Befehl ausgeben:

     draw vertices in VBO 

    Möglicherweise müssen Sie den Zeichenzustand so einrichten, dass er Paare von Ecken für Linien verwendet, aber für jede weitere VBO benötigen Sie nur einen zusätzlichen Draw-Aufruf. In der Tat, für statische Ebene Geometrie (wahrscheinlich nicht anwendbar im Fall von Minecraft) können Sie alle diese Ecken zu einem massiven VBO kombinieren, wenn Sie genug GPU-Speicher haben.

    Ich bin überrascht, dass die Beschleunigung nur 5-10% ist. Dies liegt vermutlich an der dynamischen Geometrie.

    VBO steht für Vertex Pufferobjekt

    Aus dem Wikipedia-Artikel

    Ein Vertex-Pufferobjekt (VBO) ist ein OpenGL-Feature, das Methoden zum Hochladen von Scheitelpunktdaten (Position, Normalvektor, Farbe usw.) zum Videogerät für das Nicht-Sofortmodus-Rendering bereitstellt. VBOs bieten erhebliche Leistungssteigerungen über das sofortige Modus-Rendering in erster Linie, weil die Daten in dem Video-Gerät-Speicher statt in den Systemspeicher befinden und so kann es direkt durch das Video-Gerät gerendert werden.

    In einfachen Worten

    In Minecraft speziell bietet es eine ~ 10% Leistungssteigerung bei Einstellung auf ON

    Es tut dies durch die Verringerung der Arbeitsbelastung auf Ihre CPU & RAM und Neuzuordnung es zu Ihrem Gpu-Speicher, das wird nur empfohlen, wenn Sie eine okay zu anständige Grafikkarte haben

    Es erhöht die Geschwindigkeit erheblich, indem sie den Arbeitsbelastungsbedarf von Ihrem Prozessor und dem Systemspeicher (RAM) reduziert. Stattdessen verwenden Sie Ihren Grafikkartenspeicher, der die Leistung erhöht.

    Wir lieben es zu spielen, vor allem Videospiele.