Что такое тройная буферизация в nvidia
Перейти к содержимому

Что такое тройная буферизация в nvidia

  • автор:

Тройная буферизация OpenGl AMD что это такое — включать или нет? (Triple Buffering, tripleBuffering)

Тройная буферизация OpenGl AMD (Triple Buffering, tripleBuffering) — буферизация из трех уровней (буферов), в каждом формируются данные, которые потом используются программой без ожидания. В интернете много информации на эту тему, и я должен признать, даже мне было сложно понять с первого раза.

Суть проста — подготовка графических данных заранее. Включать при использовании VSync.

VSync — вертикальная синхронизация кадровой частоты в игре с частой развертки монитора. Результат — максимальный ФПС приравнивается к частоте монитора.

Принцип работы

В общих чертах примерно так:

  1. Процессор сообщает видеокарте данные для создания картинки.
  2. Видеокарта подготовила картинку и отобразила на мониторе.
  3. Монитор отображает эту картинку 60 раз в секунду — стандартная частота для ЖК-мониторов.
  4. Далее процессор посылает снова видеокарте данные для картинки — видеокарта готовит картинку. Но показ текущей картинки на мониторе еще не завершен.
  5. Процессор, видеокарта — ожидают завершения показа.
  6. При включенной буферизации ожидания не будет — процессор будет посылать команды, видеокарта создавать изображение.
  7. Пока идет показ, последующие изображения будут помещаться в специальную область (буфер).
  8. При завершении показа, следующая картинка будет извлекаться без ожидания из буфера. Таких буферов по умолчанию существует два и они всегда работают — процесс называется двойной буферизацией. Тройная буферизация ускоряет процесс, так как используется третий буфер, система работает по аналогии двойной буферизации.

Самое главное, что стоит понимать — 1 секунда для нас это мгновенье. Для процессора/видеокарты — значительное время. Именно поэтому в программировании если нужно поставить паузы, то использую как единицу не секунды, а миллисекунды.

Опция в программе AMD Radeon Settings:

Включать или нет?

Включать необходимо в случае использования VSync в играх. При использовании VSync качество картинки повышается за счет удаления так называемого разрыва изображения, из-за этого может проседать ФПС. Результат — позволяет снизить к минимуму задержки в подготовки данных видеокартой. Особенно касается топовых процессоров/видеокарт.

Тройная буферизация доступна только в OpenGL, для активации в Direct3D играх можно воспользоваться программой RivaTuner.

RivaTuner предназначена для тонкой настройки видеокарт NVIDIA. Присутствуют недокументированные функции драйверов Detonator всех версий, низкоуровневый разгон GPU, исправление рефреша, модуль диагностики.

В обычных условиях тройная буферизация дает повышение производительности, уменьшение количества микрофризов.

Если данный тип буферизации плохо влияет на игру — возможно дело в драйверах. Можно попробовать поставить другие драйвера, предыдущие. Совет — перед установкой сделайте точку восстановления. Если вы недавно устанавливали драйвера, тогда сделайте наоборот — попробуйте восстановить состояние ПК до установки новой версии.

Тройная буферизация и WorldOfTanks

Информация была актуальна на 2014 год для WoT 9.0.

Перед внесением правок рекомендуется создать точку восстановления!

Данная информация не претендует на полезную, однако, в некоторых глюках/лагах возможно станет полезной.

Для лучшей производительности в WorldOfTanks также необходимо задать параметру triplebuffering значение false (то есть отключить). Особенно это касается не очень производительных ПК.

За буферизацию отвечает параметр tripleBuffering в конфигурационном файле:

  1. При включенной вертикальной синхронизации — тройную буферизацию необходимо включить. Задать в tripleBuffering = true.
  2. При отключенной — выключить. tripleBuffering = false.

  1. Открываем папку: C:\Users\USER_NAME\AppData\Roaming\wargaming.net\WorldOfTanks\ USER_NAME — имя вашей учетной записи.
  2. Находим файл preferences.xml.
  3. Открываем в блокноте, лучше в редакторе Notepad++.
  4. Находим параметр tripleBuffering (секция).
  5. Изменяем значение, пример:
  6. Сохраняем изменения.

Дополнительно

Некоторые другие опции графики

Название Описание
Flip Queue Size Количество заранее подготавливающихся кадров. Включение может снизить/исключить провалы ФПС. Рекомендуемое значение — 2. При наличии многоядерного процессора значение 0 может снизить производительность.
Anisotropic/Trilinear Filtering Optimizations Оптимизация анизотропной и трилинейной фильтрации. Включение повысит скорость, снижение качества картинки вы вряд ли заметите. Актуально для топовых моделей видеокарт.
Адаптивное сглаживание Сглаживание обьекта (anti-aliasing) происходит не полностью, а только по краям. Эффект достигается использованием сильных сторон мультисемплинга (MSAA) и суперсемплинга (SSAA).
Поддержка сжатия DXT Сжатие текстур без потерь в целях экономии пропускной способности. Рекомендуется включать.

Заключение

  1. Суть — подготовка данных для будущего изображения, во время показа текущего.
  2. Тройная буферизация OpenGl от AMD необходимо использовать при включенной VSync.
  3. Производительность игры должна возрасти. Особенно на топовых ПК.

Что такое тройная буферизация в nvidia

В каждой современной видеокарте находится буфер кадра (в видеопамяти). При визуализации видеокартой отдельного кадра, результаты сохраняются в этот буфер и ждут команды отправки на экран монитора. Тройная буферизация позволяет видеокарте иметь в видеопамяти три таких буфера. Это необходимо для того, чтобы ускорить вывод изображения на монитор. Когда из первого буфера происходит вывод картинки, драйвер видеокарты уже готовит данные из второго буфера, и при этом GPU рендерит кадр в третьем. Так как каждый моник имеет свою частоту обновления экрана (скорость заполнения), первый буфер грубо говоря «ждёт», пока обновится экран, во втором данные уже готовы на отправку, а в третьем происходит рендеринг.

Эта штука нужна для качественного вывода картинки на экран без искажения, артефеактов. Требует немного больше ресурсов.

Если Вертикальная синхронизация отключена, данные из буферов поступают на экран монитора по мере их поступления из буфера. Не ожидая при этом покадровую развёртку.

Меню пользователя nVidia
Посмотреть профиль
Посетить домашнюю страницу nVidia
Найти ещё сообщения от nVidia

Для чего в настройках игр есть такая настройка тройная буферизация и вертикальная синхронизация? Вообще она нужна?

Вертика́льная синхрониза́ция (англ. V-Sync) — синхронизация кадровой частоты в компьютерной игре с частотой вертикальной развёртки монитора. При этом максимальный FPS с вертикальной синхронизанией приравнивается к частоте обновления монитора. Если FPS ниже частоты обновления монитора, то во избежание ещё большей потери производительности следует включить тройную буферизацию.
Тройная буферизация в компьютерной графике — разновидность двойной буферизации; метод вывода изображения, позволяющий избежать или уменьшить количество артефактов.

Тройная буферизация позволяет увеличить скорость вывода изображения по сравнению с двойной буферизацией. В реальных приложениях это часто связано с попыткой абстрагировать операции формирования графики от синхронизации с частотой обновления монитора. Как правило, кадры рисуются с частотой ниже или выше частоты обновления экрана (с переменной частотой кадров) без обычных эффектов, которые это могло вызвать (а именно: мерцание, сдвиги, разрывы) . Так как программе не требуется опрашивать оборудование для получения событий обновления экрана, алгоритм может свободно выполняться максимально быстро. Это не единственный доступный метод тройной буферизации, но преобладающий на архитектуре ПК, где скорость машины может сильно различаться.

Другой метод тройной буферизации включает в себя синхронизацию с частотой обновления экрана, используя третий буфер просто как способ предоставить свободное пространство для запросов на изменения в общем объёме выводимой графики. Здесь буфер используется в истинном смысле, когда он действует как хранилище. Такой метод предъявляет повышенные минимальные требования к аппаратному обеспечению, но обеспечивает согласованную (по сравнению с переменной) частоту кадров.

Тройная буферизация предполагает использование трёх буферов, но метод может быть расширен на любое количество буферов, нужное приложению. Обычно использование четырёх и более буферов не даёт каких-либо преимуществ.

Недостатки двойной буферизации

Если в системе есть два буфера: А и Б, она может отображать буфер Б, одновременно формируя новое изображение в буфере А. Когда изображение в буфере А готово, системе приходится ждать обратного хода луча монитора, чтобы сменить буферы. Этот период ожидания может составить несколько миллисекунд, в течение которых ни один из буферов не затрагивается. В момент завершения вертикальной развёртки можно либо обменять буферы А и Б, чтобы затем начать построение изображения в буфере Б (переключение страниц) , или скопировать буфер А в буфер Б и рисовать в буфере А.
Преимущества тройной буферизации

Если в системе есть три буфера: А, Б и В, ей не нужно ждать смены буферов. Она может отображать буфер Б, формируя изображение в буфере А. Когда изображение в буфере А готово, она немедленно начинает построение изображения в буфере В. При наступлении паузы в вертикальной развёртке отображается буфер А, а буфер Б освобождается для повторного использования.

Ограничения тройной буферизации

Если система всегда заполняет буферы за меньшее время, чем требуется для отображения буфера на экране, компьютер будет всегда ожидать сигнала монитора независимо от количества буферов. В этом случае тройная буферизация не имеет преимуществ перед двойной буферизацией.

Тройная буферизация OpenGL: что это & включать или нет

Тройная буферизация OpenGL что это

В настройках графики AMD или NVIDIA можно заметить тройную буферизацию. Параметры позволяют включать её в приложениях OpenGL. Её рекомендуется параллельно использовать с вертикальной синхронизацией. Функция нужна для снижения задержек в подготовке данных.

Эта статья расскажет, что это такое тройная буферизация OpenGL. Теоретически она даёт повышение производительности и уменьшение количества фризов. На практике всё нужно тестировать самому. Её включение может снизить задержки, но всё зависит от приложения и ПК.

Что такое тройная буферизация OpenGL

Тройная буферизация OpenGL (англ. Triple Buffering) — это альтернативный режим вертикальной синхронизации, только для приложений OpenGL. Три уровня буферизации, в каждом заранее подготавливаются графические данные, которые используются без ожидания.

В общих чертах, как это работает:

без тройной буферизации с тройной буферизацией
Центральный процессор передаёт графические данные для создания сцены. Процессор также посылает команды, видеокарта создаёт изображение.
Сразу же после подготовки сцены видеокарта отображает картинку на мониторе. Видеокарта отображает картинку, определённое количество кадров в секунду.
Процессор опять посылает данные видеокарты, она готовит картинку для показа. Пока идёт показ, новые картинка будут помещаться в специальный буфер.
Поскольку показ предыдущей картинки ещё незавершён, ЦП и ГПУ ждут завершения. По завершении показа, без ожидания готовая сцена будет извлекаться из буфера.

В панели NVIDIA: тройная буферизация повышает производительность, только в режиме вертикальной синхронизации. Ещё смотрите: стоит ли включать вертикальную синхронизацию.

Включение тройной буферизации AMD & NVIDIA

Собственно, в разделе Игры выберите, например, World Of Tanks. В подразделе Видеокарта выберите Дополнительно. Перетяните Тройная буферизация OpenGL в положение Включено.

включать ли тройную буферизацию

Или откройте Настройки > Видеокарта > Дополнительно. И здесь уже Тройная буферизация OpenGL активируется для всех приложений. Включается простым перетягиванием ползунка.

В Панели управления NVIDIA откройте Параметры 3D > Управление параметрами 3D. Найдите параметр Тройная буферизация (он позволяет включить буферизацию в приложениях OpenGL).

opengl тройная буферизация включать или нет

Кстати, World Of Tanks это отличный пример. Вы можете в ней включить вертикальную синхронизацию, и после чего Вам рекомендуют тройную буферизацию. Без ПО драйверов.

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

Смотрите ещё как настроить AMD Radeon Settings или настроить видеокарту NVIDIA для игр. Сейчас же стараюсь избегать вертикальную синхронизацию с буферизацией. Отдаю предпочтение AMD FreeSync и NVIDIA G-Sync, плюс приобрёл себе монитор с Adaptive-Sync.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *