В снимке 14w29b в меню «Настройки видео» появилась новая опция под названием «Использовать VBO»:

В обновлении снапшота говорится, что включение опции «Vertex Buffer Objects» должно увеличить ваш FPS в среднем на 5-10%.

Я ищу простое объяснение того, что VBO делают визуально и как они работают.

21 2014-07-18T08:43:20+00:00 3
Редактировал вопрос 18-го июля 2014 в 9:51
Решение / Ответ
18-го июля 2014 в 11:13
2014-07-18T11:13:44+00:00
Дополнительно

Ответ, данный Flaunting, правильный, но если кому-то интересно, почему это может быть более эффективно, вот объяснение.

В немедленном режиме (я думаю, это стандартный случай в minecraft), когда вы хотите отрисовать, скажем, квадрат:

Вы будете выдавать следующие команды каждый кадр (в псевдокоде)

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

Для одного квадрата это немного, но в сцене могут быть миллионы вершин, и у них может быть больше атрибутов (цвет, нормали и т.д.). Это очень много данных, которые нужно отправлять на GPU каждый кадр.

Используя VBOS, вы загрузите все данные вершин в память GPU в самом начале. Псевдокод может выглядеть следующим образом:

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

Код OpenGL вернет вам ‘имя’ для этого VBO (ненулевое беззнаковое целое число, насколько я помню). Затем вы сможете ссылаться на него, когда захотите нарисовать квадрат. Таким образом, каждый кадр вам нужно будет выдавать только одну команду рисования:

draw vertices in VBO

Возможно, вам придется настроить состояние рисования так, чтобы оно использовало пары вершин для линий, но для каждого дополнительного VBO вам потребуется только один дополнительный вызов рисования. Фактически, для статической геометрии уровня (вероятно, не применимо в случае minecraft) вы можете объединить все эти вершины в один массивный VBO, если у вас достаточно памяти GPU.

Я удивлен, что ускорение составляет всего 5-10%. Возможно, это связано с динамической геометрией уровня.

Читайте также:  Где паркур в Майнкрафте

Комментарии к ответу ( 6 )
Ответ на вопрос
18-го июля 2014 в 9:34
2014-07-18T09:34:31+00:00
Дополнительно

VBO означает Vertex Buffer Object (объект буфера вершин)

Vertex Buffer Object (VBO) — это функция OpenGL, которая предоставляет методы для загрузки вершинных данных (позиция, вектор нормали, цвет, и т.д.) на видеоустройство для рендеринга в неопосредованном режиме. VBO обеспечивают существенный прирост производительности по сравнению с рендерингом в немедленном режиме, прежде всего, > потому что данные сохраняются в видеоустройстве. потому что данные находятся в памяти видеоустройства, а не в системной памяти, и поэтому они могут быть отображены непосредственно видеоустройством.

Простыми словами

В minecraft, если установить значение ON, производительность увеличивается на ~10%.

Это происходит за счет снижения нагрузки на процессор и оперативную память и переназначения ее на память графического процессора. Это рекомендуется только в том случае, если у вас хорошая или приличная видеокарта.

Источник: kzen.dev

VBO’s; How they work, and what they do.

VBO stands for «Vertical Buffer Object»
A Vertex Buffer Object (VBO) is an OpenGL feature that provides methods for uploading vertex data (position, normal vector, color, etc.) to the video device for non-immediate-mode rendering. VBOs offer substantial performance gains over immediate mode rendering primarily because the data resides in the video device memory rather than the system memory and so it can be rendered directly by the video device.
A Little bit simpler: In immediate mode (Minecraft Default) when you want to render say a square: You would issue the following commands each frame (in pseudo code)

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

For one square, this is not a lot, but there could be millions of vertices in a scene, and they may have more attributes (colour, normal etc.). This is a lot of data to send to the GPU each frame.
Using VBOS, you would load all of the vertex data into GPU memory at the start. Pseudo code might look like this:

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

The OpenGL code will give you back a ‘name’ for this VBO (a non-zero unsigned integer iirc). You can then reference this when you want to draw the square. So each frame, you only need to issue one draw command:
draw vertices in VBO
You may have to set up the drawing state so that it uses pairs of vertices for lines, but for each additional VBO, you only require one extra draw call. In fact, for static level geometry (probably not applicable in the case of minecraft) you can combine all of these vertices into one massive VBO, if you have enough GPU memory.
In minecraft specifically it Offers a ~10% performance increase when set to ON
It does this by reducing the workload on your CPU «Введите панель управления» и щелкните ее в результатах поиска.

Читайте также:  Как настроить Майнкрафт в блюстакс 5
  • Щелкните Удалить программу.
  • Затем щелкните правой кнопкой мыши среду выполнения JAVA> нажмите Удалить.
  • После удаления перезагрузите компьютер.
  • Перейдите к Веб-сайт JAVA Oracle и установите его снова.
  • VBO и DisplayList

    #2 Minecraft с нуля на C++ — VAO и VBO

    2. Обновить Майнкрафт

    Всегда настоятельно рекомендуется обновлять игру Minecraft всякий раз, когда доступен новый патч. Это обеспечит правильную работу игры с исправленными ошибками и другими улучшениями. Затем перейдите к официальному Сайт Майнкрафт и скачайте последний патч.

    3. Удалить данные приложения Minecraft

    Иногда временные файлы игры также могут вызывать проблемы с запуском игры или игровым процессом. Рекомендуется удалить AppData файла игры из вашей системы, чтобы проверить наличие проблемы.

    • Нажмите Windows + R клавиши на ПК, чтобы открыть диалоговое окно «Выполнить».
    • Теперь введите %данные приложения% и нажмите Enter.
    • Найдите папку Minecraft> Щелкните один раз, чтобы выбрать ее.
    • Нажмите удалять клавишу на клавиатуре, чтобы удалить ее.
    • После этого перезагрузите систему и попробуйте запустить игру.

    4. Отключить использование VBO

    Чтобы не запускать рендеринг видео сразу после запуска игры, вам следует отключить параметр «Использовать VBO» в меню настроек видео в игре. VBO означает «объекты буфера вершин», который представляет собой функцию OpenGL, которая позволяет загружать данные вершин на видеоустройство.

    • Зайдите в настройки Minecraft.
    • Перейдите в Настройки видео> Отключите «Использовать VBO».
    • Нажмите Готово и сохраните изменения.
    • Выйдите из него и перезапустите игру.
    • Кроме того, вы также можете попробовать включить параметр «Вертикальная синхронизация» в настройках игры.

    5. Переустановите Minecraft, чтобы исправить сбой Minecraft

    Если можете, удалите и переустановите игру Minecraft со своего компьютера. Для этого:

    • Щелкните «Пуск»> «Введите панель управления» и щелкните ее в результатах поиска.
    • Щелкните Удалить программу.
    • Затем щелкните правой кнопкой мыши Minecraft> нажмите Удалить.
    • После удаления перезагрузите компьютер.
    • Наконец, перейдите на официальный сайт Minecraft> Загрузите игру и установите ее должным образом, следуя инструкциям на экране.
    Читайте также:  Как стать достойным молота тора в майнкрафт

    6. Обновите графический драйвер

    Это также одна из самых важных задач, которую нужно выполнить. Обновление графического драйвера — это всегда хорошая идея, если игра не запускается или запускается неправильно. Проверьте наличие последнего обновления графического драйвера и, если оно есть, просто загрузите и установите обновление. Это определенно исправит несколько ошибок и проблем с производительностью на вашем ПК, связанных с графикой.

    • Сначала щелкните правой кнопкой мыши меню «Пуск»> щелкните «Диспетчер устройств».
    • Щелкните значок стрелки рядом с графическими адаптерами.
    • Щелкните правой кнопкой мыши выделенную видеокарту> щелкните Обновить драйвер.
    • Затем нажмите Автоматический поиск обновленного программного обеспечения драйвера.
    • Если доступно обновление, система автоматически загрузит и установит его.
    • После этого вам нужно будет перезагрузить компьютер, и проблема должна исчезнуть.

    Вот и все, ребята. Мы надеемся, что эта статья оказалась для вас очень полезной. Для дальнейших запросов вы можете оставить комментарий ниже.

    Субодх любит писать контент, будь то технический или иной. Проработав год в техническом блоге, он увлекается этим. Он любит играть в игры и слушать музыку. Помимо ведения блога, он увлекается сборками игровых ПК и утечками информации о смартфонах.

    Источник: concentraweb.com