Что дает тройная буферизация в играх?

Тройная буферизация 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:

Пример #2:

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

Включать необходимо в случае использования 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 Сжатие текстур без потерь в целях экономии пропускной способности. Рекомендуется включать.
Читайте также  Буфер hdd на что влияет?

Заключение

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

! 12.12.2018

Источник: http://virtmachine.ru/trojnaya-buferizatsiya-opengl-amd-chto-eto-takoe-vklyuchat-ili-net-triple-buffering-triplebuffering.html

Что такое VSync и когда следует включать или выключать VSync?

Что дает тройная буферизация в играх?

Если вы играете в игры, то скорее всего видели функцию в настройках VSync. Это также будет отображаться, если вы работаете с 3D-графикой.

Например, графический процессор рендерит трехмерную сцену через «кадры» как можно быстрее. Эти кадры затем обрабатываются монитором, кадр за кадром. Скорость, с которой графический процессор может выводить кадры, называется «кадров в секунду», или сокращенно FPS. Чем больше кадров выдает графический процессор (GPU), тем более плавным будет игровой процесс.

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

Поэтому вы можете увидеть два разделенных изображения и называется это разрывом экрана. (смотрите ниже рис.).

источник фото: .com/mywebpc

VSync или Vertical Sync  называют функцией отображения и чаще всего встречаются в 3D-видеоиграх. Это позволяет геймеру синхронизировать частоту кадров в игре с частотой обновления монитора. Результатом является отличная визуальная синхронность и хороший игровой комфорт.

VSync гарантирует, что графический процессор не отправляет ни одного кадра, пока на экране отображается предыдущий кадр. Это достигается главным образом двумя процессами, называемыми двойной буферизацией и тройной буферизацией. Когда компьютер хочет показать что-то на мониторе, он рисует изображение, отображаемое на экране, и отправляет это изображение. Это называется «буфер», который еще не отображается на экране монитора.

Одиночная Буферизация

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

Двойная Буферизация

Двойная буферизация состоит из двух буферов, называемых «Front Buffer» и «Back Buffer».

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

Передний буфер становится задним буфером и наоборот. Таким же образом программа рисования продолжает рисовать новый задний буфер. Передний буфер выходит на экран, и новый задний буфер становится новым передним буфером. Этот вид обмена происходит все время. Надеюсь не запутал 🙂

Тройная Буферизация — VSync

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

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

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

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

Существуют различные альтернативы для VSync, такие как Nvidia G-Sync, AMD FreeSync и AMD Enhanced Sync.

VSync — Плюсы И Минусы

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

Если вы предпочитаете играть в старые игры, VSync может быть хорошим вариантом. Это потому, что графические процессоры работают очень быстро. Тогда работа со старыми экранами может привести к исключительно высокой частоте кадров.

Читайте также  Диск образ переполнен ultraiso что делать?

Из-за высокой частоты кадров графический процессор может перегреваться. Когда VSync включен, частота кадров будет соответствовать частоте обновления монитора. Это позволит избежать высокого давления на графический процессор.

Таким образом, VSync позволяет избежать разрывов экрана, но также может привести к задержкам, поскольку графическому процессору приходится ждать, пока экран подготовится. Когда кадр наконец отображается, это также может повлиять на частоту кадров, если графический процессор не может соответствовать частоте обновления экрана.

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

Вступай ВконтаткеПодписывайся в Telegram

Источник: https://zen.yandex.ru/media/mywebpc.ru/chto-takoe-vsync-i-kogda-sleduet-vkliuchat-ili-vykliuchat-vsync-5c6b998bef11b700af1e7f39

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

Что дает тройная буферизация в играх?
12 пользователя считают данную страницу полезной.

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

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

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

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

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

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

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

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

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

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

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

Что дает тройная буферизация в играх?
Категория ~ Что такое? – Игорь (Администратор)

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

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

Одним из решений подобной проблемы, является двойная и тройная буферизация. Что это такое и зачем нужно, а так же как связано с вертикальной синхронизацией V-Sync, рассмотрим далее.

Читайте также  Переход на linux с чего начать?

Двойная буферизация

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

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

Стоит знать, что под первичным буфером подразумевают тот, в котором хранится картинка, отображаемая в экране монитора. Под вторичным буфером подразумевается тот, в котором генерируется изображение (происходит рендер).

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

Тройная буферизация — это разновидность двойной буферизации, отличающаяся тем, что используется три буфера данных.

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

Зачем это нужно? Дело в том, что в момент копирования данных видеокарта простаивает. Соответственно, дополнительный вторичный буфер решает эту проблему, так как в момент копирования данных, может формироваться следующее изображение. Это позволяет повысить fps.

Однако, обе этих технологии обычно связывают с V-Sync и не просто так. Далее рассмотрим почему.

Двойная и тройная буферизация с вертикальной синхронизацией

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

Примечание: Читателям стоит знать, что V-Sync повышает Input Lag.

В чем плюсы и минусы двойной буферизации с V-Sync?

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

Минусы. Суть в том, что, кроме проблемы простоя видеокарты при копировании данных, добавляется задержка ожидания отрисовки монитором. Это означает, что может очень сильно снижаться fps, если видеокарта генерирует меньшее число кадров, чем частота монитора. Например, 40-45 fps могут снизиться до 30 реальных fps, так как часть кадров будет отображаться за 1 такт монитора, а часть кадров за 2 такта монитора. Если же fps меньше 30, то снижение может быть вплоть до 15 кадров.

Второй существенный минус, что если реальный fps видеокарты в игре скачет, то это может быть ощутимым и дополнительно вызывать излишнюю усталость глаз. Например, если в одних сценах 40-50 fps, а в других 20-30 fps, то это означает, что fps будет чередоваться в стиле «30 — 15 — 30 — 15 — 15 — 30 — 30».

В чем плюсы и минусы тройной буферизации с V-Sync?

Плюсы. Те же, что и у двойной, но с некоторым отличием. Дело в том, что тройная буферизация позволяет избавиться от проблемы простоя, так как в моменты ожидания монитора или копирования данных, видеокарта формирует следующее изображение, что особенно полезно, если видеокарта формирует изображения то быстро, то медленно (однако, возможен минус в виде периодических пропусков изображений из-за V-Sync).

Минусы. Первый минус в том, что тройная буферизация требует больше вычислительных ресурсов. Второй минус в том, что если видеокарта всегда генерирует картинки быстро с учетом всех задержек, то толк от тройной буферизации теряется. Третий. Если компьютер «слабый», то включение этого метода может снизить реальный fps. Происходит это из-за первого минуса, так как требуется больше вычислительных ресурсов. В этом случае, лучше отключить не только тройную буферизацию, но и V-Sync.

Примечание: Третий минус редко встречается, так как нынешние «слабые» компьютеры достаточно мощные для этого метода.

Теперь, вы знаете что такое тройная буферизация, зачем она нужна и некоторые ее особенности.

Источник: https://ida-freewares.ru/trojnaya-buferizatsiya-chto-eto-takoe.html