Двойная или тройная буферизация что лучше
Тройная буферизация OpenGL: что это & включать или нет
В настройках графики AMD или NVIDIA можно заметить тройную буферизацию. Параметры позволяют включать её в приложениях OpenGL. Её рекомендуется параллельно использовать с вертикальной синхронизацией. Функция нужна для снижения задержек в подготовке данных.
Эта статья расскажет, что это такое тройная буферизация OpenGL. Теоретически она даёт повышение производительности и уменьшение количества фризов. На практике всё нужно тестировать самому. Её включение может снизить задержки, но всё зависит от приложения и ПК.
Что такое тройная буферизация OpenGL
Тройная буферизация OpenGL (англ. Triple Buffering) — это альтернативный режим вертикальной синхронизации, только для приложений OpenGL. Три уровня буферизации, в каждом заранее подготавливаются графические данные, которые используются без ожидания.
В общих чертах, как это работает:
без тройной буферизации | с тройной буферизацией |
Центральный процессор передаёт графические данные для создания сцены. | Процессор также посылает команды, видеокарта создаёт изображение. |
Сразу же после подготовки сцены видеокарта отображает картинку на мониторе. | Видеокарта отображает картинку, определённое количество кадров в секунду. |
Процессор опять посылает данные видеокарты, она готовит картинку для показа. | Пока идёт показ, новые картинка будут помещаться в специальный буфер. |
Поскольку показ предыдущей картинки ещё незавершён, ЦП и ГПУ ждут завершения. | По завершении показа, без ожидания готовая сцена будет извлекаться из буфера. |
В панели NVIDIA: тройная буферизация повышает производительность, только в режиме вертикальной синхронизации. Ещё смотрите: стоит ли включать вертикальную синхронизацию.
Включение тройной буферизации AMD & NVIDIA
Собственно, в разделе Игры выберите, например, World Of Tanks. В подразделе Видеокарта выберите Дополнительно. Перетяните Тройная буферизация OpenGL в положение Включено.
Или откройте Настройки > Видеокарта > Дополнительно. И здесь уже Тройная буферизация OpenGL активируется для всех приложений. Включается простым перетягиванием ползунка.
В Панели управления NVIDIA откройте Параметры 3D > Управление параметрами 3D. Найдите параметр Тройная буферизация (он позволяет включить буферизацию в приложениях OpenGL).
Кстати, World Of Tanks это отличный пример. Вы можете в ней включить вертикальную синхронизацию, и после чего Вам рекомендуют тройную буферизацию. Без ПО драйверов…
На практике бесполезно использовать тройную буферизацию без вертикальной синхронизации. Чем больше данных буферизируется, тем больше будут задержки, и увеличивается использование видеопамяти. В теории она смягчает прыжки изображения при смене кадров.
Смотрите ещё как настроить AMD Radeon Settings или настроить видеокарту NVIDIA для игр. Сейчас же стараюсь избегать вертикальную синхронизацию с буферизацией. Отдаю предпочтение AMD FreeSync и NVIDIA G-Sync, плюс приобрёл себе монитор с Adaptive-Sync…
Тройная буферизация OpenGl AMD что это такое — включать или нет? (Triple Buffering, tripleBuffering)
Тройная буферизация OpenGl AMD (Triple Buffering, tripleBuffering) — буферизация из трех уровней (буферов), в каждом формируются данные, которые потом используются программой без ожидания. В интернете много информации на эту тему, и я должен признать, даже мне было сложно понять с первого раза.
Суть проста — подготовка графических данных заранее. Включать при использовании VSync.
VSync — вертикальная синхронизация кадровой частоты в игре с частой развертки монитора. Результат — максимальный ФПС приравнивается к частоте монитора.
Принцип работы
В общих чертах примерно так:
Самое главное, что стоит понимать — 1 секунда для нас это мгновенье. Для процессора/видеокарты — значительное время. Именно поэтому в программировании если нужно поставить паузы, то использую как единицу не секунды, а миллисекунды.
Опция в программе AMD Radeon Settings:
Включать или нет?
Включать необходимо в случае использования VSync в играх. При использовании VSync качество картинки повышается за счет удаления так называемого разрыва изображения, из-за этого может проседать ФПС. Результат — позволяет снизить к минимуму задержки в подготовки данных видеокартой. Особенно касается топовых процессоров/видеокарт.
Тройная буферизация доступна только в OpenGL, для активации в Direct3D играх можно воспользоваться программой RivaTuner.
RivaTuner предназначена для тонкой настройки видеокарт NVIDIA. Присутствуют недокументированные функции драйверов Detonator всех версий, низкоуровневый разгон GPU, исправление рефреша, модуль диагностики.
В обычных условиях тройная буферизация дает повышение производительности, уменьшение количества микрофризов.
Если данный тип буферизации плохо влияет на игру — возможно дело в драйверах. Можно попробовать поставить другие драйвера, предыдущие. Совет — перед установкой сделайте точку восстановления. Если вы недавно устанавливали драйвера, тогда сделайте наоборот — попробуйте восстановить состояние ПК до установки новой версии.
Тройная буферизация и WorldOfTanks
Информация была актуальна на 2014 год для WoT 9.0.
Перед внесением правок рекомендуется создать точку восстановления!
Данная информация не претендует на полезную, однако, в некоторых глюках/лагах возможно станет полезной.
Для лучшей производительности в WorldOfTanks также необходимо задать параметру triplebuffering значение false (то есть отключить). Особенно это касается не очень производительных ПК.
За буферизацию отвечает параметр tripleBuffering в конфигурационном файле:
что такое тройная буферизация? её нужно включать в играх?
Тройная буферизация в компьютерной графике — разновидность двойной буферизации; метод вывода изображения, позволяющий избежать или уменьшить количество артефактов.
Тройная буферизация позволяет увеличить скорость вывода изображения по сравнению с двойной буферизацией. В реальных приложениях это часто связано с попыткой абстрагировать операции формирования графики от синхронизации с частотой обновления монитора. Как правило, кадры рисуются с частотой ниже или выше частоты обновления экрана (с переменной частотой кадров) без обычных эффектов, которые это могло вызвать (а именно: мерцание, сдвиги, разрывы). Так как программе не требуется опрашивать оборудование для получения событий обновления экрана, алгоритм может свободно выполняться максимально быстро. Это не единственный доступный метод тройной буферизации, но преобладающий на архитектуре ПК, где скорость машины может сильно различаться.
Другой метод тройной буферизации включает в себя синхронизацию с частотой обновления экрана, используя третий буфер просто как способ предоставить свободное пространство для запросов на изменения в общем объёме выводимой графики. Здесь буфер используется в истинном смысле, когда он действует как хранилище. Такой метод предъявляет повышенные минимальные требования к аппаратному обеспечению, но обеспечивает согласованную (по сравнению с переменной) частоту кадров.
Тройная буферизация предполагает использование трёх буферов, но метод может быть расширен на любое нужное приложению количество буферов. Обычно использование четырёх и более буферов не даёт каких-либо преимуществ.
Если в системе есть два буфера, А и Б, она может отображать буфер Б, одновременно формируя новое изображение в буфере А. Когда изображение в буфере А готово, системе приходится ждать обратного хода луча монитора, чтобы сменить буферы. Этот период ожидания может составить несколько миллисекунд, в течение которых ни один из буферов не затрагивается. В момент завершения вертикальной развёртки можно либо обменять буферы А и Б, чтобы затем начать построение изображения в буфере Б (переключение страниц), или скопировать буфер А в буфер Б и рисовать в буфере А.
Если в системе есть три буфера: А, Б и В, ей не нужно ждать смены буферов. Она может отображать буфер Б, формируя изображение в буфере А. Когда изображение в буфере А готово, она немедленно начинает построение изображения в буфере В. При наступлении паузы в вертикальной развёртке отображается буфер А, а буфер Б освобождается для повторного использования.
Если система всегда заполняет буферы за меньшее время, чем требуется для отображения буфера на экране, компьютер будет всегда ожидать сигнала монитора независимо от количества буферов. В этом случае тройная буферизация не имеет преимуществ перед двойной буферизацией.
Что такое тройная буферизация opengl
Тройная буферизация в компьютерной графике — разновидность двойной буферизации; метод вывода изображения, позволяющий избежать или уменьшить количество артефактов.
Тройная буферизация позволяет увеличить скорость вывода изображения по сравнению с двойной буферизацией. В реальных приложениях это часто связано с попыткой абстрагировать операции формирования графики от синхронизации с частотой обновления монитора. Как правило, кадры рисуются с частотой ниже или выше частоты обновления экрана (с переменной частотой кадров) без обычных эффектов, которые это могло вызвать (а именно: мерцание, сдвиги, разрывы). Так как программе не требуется опрашивать оборудование для получения событий обновления экрана, алгоритм может свободно выполняться максимально быстро. Это не единственный доступный метод тройной буферизации, но преобладающий на архитектуре ПК, где скорость машины может сильно различаться.
Другой метод тройной буферизации включает в себя синхронизацию с частотой обновления экрана, используя третий буфер просто как способ предоставить свободное пространство для запросов на изменения в общем объёме выводимой графики. Здесь буфер используется в истинном смысле, когда он действует как хранилище. Такой метод предъявляет повышенные минимальные требования к аппаратному обеспечению, но обеспечивает согласованную (по сравнению с переменной) частоту кадров.
Тройная буферизация предполагает использование трёх буферов, но метод может быть расширен на любое нужное приложению количество буферов. Обычно использование четырёх и более буферов не даёт каких-либо преимуществ.
Недостатки двойной буферизации [ править | править код ]
Если в системе есть два буфера, А и Б, она может отображать буфер Б, одновременно формируя новое изображение в буфере А. Когда изображение в буфере А готово, системе приходится ждать обратного хода луча монитора, чтобы сменить буферы. Этот период ожидания может составить несколько миллисекунд, в течение которых ни один из буферов не затрагивается. В момент завершения вертикальной развёртки можно либо обменять буферы А и Б, чтобы затем начать построение изображения в буфере Б (переключение страниц), или скопировать буфер А в буфер Б и рисовать в буфере А.
Преимущества тройной буферизации [ править | править код ]
Если в системе есть три буфера: А, Б и В, ей не нужно ждать смены буферов. Она может отображать буфер Б, формируя изображение в буфере А. Когда изображение в буфере А готово, она немедленно начинает построение изображения в буфере В. При наступлении паузы в вертикальной развёртке отображается буфер А, а буфер Б освобождается для повторного использования.
Ограничения тройной буферизации [ править | править код ]
Если система всегда заполняет буферы за меньшее время, чем требуется для отображения буфера на экране, компьютер будет всегда ожидать сигнала монитора независимо от количества буферов. В этом случае тройная буферизация не имеет преимуществ перед двойной буферизацией.
Тройная буферизация OpenGl AMD (Triple Buffering, tripleBuffering) — буферизация из трех уровней (буферов), в каждом формируются данные, которые потом используются программой без ожидания. В интернете много информации на эту тему, и я должен признать, даже мне было сложно понять с первого раза.
Суть проста — подготовка графических данных заранее. Включать при использовании VSync.
VSync — вертикальная синхронизация кадровой частоты в игре с частой развертки монитора. Результат — максимальный ФПС приравнивается к частоте монитора.
Принцип работы
В общих чертах примерно так:
Самое главное, что стоит понимать — 1 секунда для нас это мгновенье. Для процессора/видеокарты — значительное время. Именно поэтому в программировании если нужно поставить паузы, то использую как единицу не секунды, а миллисекунды.
Опция в программе AMD Radeon Settings:
Включать или нет?
Включать необходимо в случае использования VSync в играх. При использовании VSync качество картинки повышается за счет удаления так называемого разрыва изображения, из-за этого может проседать ФПС. Результат — позволяет снизить к минимуму задержки в подготовки данных видеокартой. Особенно касается топовых процессоров/видеокарт.
Тройная буферизация доступна только в OpenGL, для активации в Direct3D играх можно воспользоваться программой RivaTuner.
RivaTuner предназначена для тонкой настройки видеокарт NVIDIA. Присутствуют недокументированные функции драйверов Detonator всех версий, низкоуровневый разгон GPU, исправление рефреша, модуль диагностики.
В обычных условиях тройная буферизация дает повышение производительности, уменьшение количества микрофризов.
Если данный тип буферизации плохо влияет на игру — возможно дело в драйверах. Можно попробовать поставить другие драйвера, предыдущие. Совет — перед установкой сделайте точку восстановления. Если вы недавно устанавливали драйвера, тогда сделайте наоборот — попробуйте восстановить состояние ПК до установки новой версии.
Тройная буферизация и WorldOfTanks
Информация была актуальна на 2014 год для WoT 9.0.
Перед внесением правок рекомендуется создать точку восстановления!
Данная информация не претендует на полезную, однако, в некоторых глюках/лагах возможно станет полезной.
Для лучшей производительности в WorldOfTanks также необходимо задать параметру triplebuffering значение false (то есть отключить). Особенно это касается не очень производительных ПК.
За буферизацию отвечает параметр tripleBuffering в конфигурационном файле:
USER_NAME — имя вашей учетной записи.
Дополнительно
Заключение
Добавить комментарий Отменить ответ
Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.
Тройная буферизация позволяет увеличить скорость вывода изображения по сравнению с двойной буферизацией. В реальных приложениях это часто связано с попыткой абстрагировать операции формирования графики от синхронизации с частотой обновления монитора. Как правило, кадры рисуются с частотой ниже или выше частоты обновления экрана (с переменной частотой кадров) без обычных эффектов, которые это могло вызвать (а именно: мерцание, сдвиги, разрывы). Так как программе не требуется опрашивать оборудование для получения событий обновления экрана, алгоритм может свободно выполняться максимально быстро. Это не единственный доступный метод тройной буферизации, но преобладающий на архитектуре ПК, где скорость машины может сильно различаться.
Другой метод тройной буферизации включает в себя синхронизацию с частотой обновления экрана, используя третий буфер просто как способ предоставить свободное пространство для запросов на изменения в общем объёме выводимой графики. Здесь буфер используется в истинном смысле, когда он действует как хранилище. Такой метод предъявляет повышенные минимальные требования к аппаратному обеспечению, но обеспечивает согласованную (по сравнению с переменной) частоту кадров.
Тройная буферизация предполагает использование трёх буферов, но метод может быть расширен на любое нужное приложению количество буферов. Обычно использование четырёх и более буферов не даёт каких-либо преимуществ.
Если в системе есть два буфера, А и Б, она может отображать буфер Б, одновременно формируя новое изображение в буфере А. Когда изображение в буфере А готово, системе приходится ждать обратного хода луча монитора, чтобы сменить буферы. Этот период ожидания может составить несколько миллисекунд, в течение которых ни один из буферов не затрагивается. В момент завершения вертикальной развёртки можно либо обменять буферы А и Б, чтобы затем начать построение изображения в буфере Б (переключение страниц), или скопировать буфер А в буфер Б и рисовать в буфере А.
Если в системе есть три буфера: А, Б и В, ей не нужно ждать смены буферов. Она может отображать буфер Б, формируя изображение в буфере А. Когда изображение в буфере А готово, она немедленно начинает построение изображения в буфере В. При наступлении паузы в вертикальной развёртке отображается буфер А, а буфер Б освобождается для повторного использования.
Тройная буферизация OpenGl AMD что это такое — включать или нет? (Triple Buffering, tripleBuffering)
Проблемы с качеством изображения в видеоиграх могут возникнуть у любого геймера. Независимо от того насколько мощный у вас ПК. Хотя на старых «машинах» такое встречается все же чаще. В статье разберем, что такое V-sync и чем отличается от G-Sync или FreeSync.
Тройная и двойная буферизация
Двойная буферизация
Двойная буферизация – это такой метод, который позволяет обеспечивать одновременную передачу готового результата и формирование следующего.
Как устроена двойная буферизация в компьютерной графике? Стоит отметить, что существует два варианта, оба из которых решают проблему мерцания и некоторых иных дефектов, но не решают проблему разрыва картинки. Первый, это когда изображение вначале формируется в оперативной памяти компьютера, а затем копируется в буфер монитора (из которого последний считывает и отображает картинку на экране). Второй, это когда видеокарта исходно поддерживает два буфера, которые она меняет без копирования данных, что существенно быстрее. В этом случаем, реже возникают разрывы.
Стоит знать, что под первичным буфером подразумевают тот, в котором хранится картинка, отображаемая в экране монитора. Под вторичным буфером подразумевается тот, в котором генерируется изображение (происходит рендер).
Тройная буферизация
Тройная буферизация – это разновидность двойной буферизации, отличающаяся тем, что используется три буфера данных.
Как устроена тройная буферизация в компьютерной графике? Сам механизм во многом похож, но только используется три буфера данных – первичный и два вторичных. При этом так же возможно использование дополнительных буферов видеокарты в качестве вторичных буферов метода, если таковые существуют.
Зачем это нужно? Дело в том, что в момент копирования данных видеокарта простаивает. Соответственно, дополнительный вторичный буфер решает эту проблему, так как в момент копирования данных, может формироваться следующее изображение. Это позволяет повысить fps.
Однако, обе этих технологии обычно связывают с V-Sync и не просто так. Далее рассмотрим почему.
Принцип работы
В общих чертах примерно так:
Самое главное, что стоит понимать — 1 секунда для нас это мгновенье. Для процессора/видеокарты — значительное время. Именно поэтому в программировании если нужно поставить паузы, то использую как единицу не секунды, а миллисекунды.
Опция в программе AMD Radeon Settings:
Tearing
Разрывы кадров (известные также как тиринг, от англ. Tearing), словно некто порезал картинку в игре на части и неровно склеил, могут серьезно попортить нервы геймеру. Не дав вам возможности, не то что с головой погрузиться в игру, но и просто нормально ее пройти. Выглядит это так:
Чтобы понять, как бороться с разрывами изображения, нужно знать причину их появления. Тут все предельно просто — тиринг вызван отсутствием синхронизации работы видеокарты и монитора. То есть видеокарта генерирует кадры с непостоянной частотой (это называется FPS, фреймрейт). Скорость создания новых кадров зависит от сложности 3D-сцены в видеоигре. Монитор же способен выводить кадры только с фиксированной частотой. Вот из этого несоответствия и рождаются разрывы изображения.
Если бы видеокарта по умолчанию успевала бы отрисовывать кадры перед отправкой их на монитор (как показано на схеме), то разрывы картинки канули бы в Лету. Но это недостижимая мечта.
Для плавной картинки, которую способно воспринимать человеческое зрение нужно минимум 25 к/с, иначе задержки становятся видны невооруженным глазом. Например, у вас монитор с частотой обновления 60 Гц (60 к/с). И слабенькая видеокарта, которая не справляется с генерацией кадров. Она не поспевает за монитором — тот обновляет картинку быстрее, чем видеокарта обрабатывает новые сцены. Поэтому, вместо нового целого кадра, который видеочип не успел создать полностью, монитору приходится показывать половину нового и половину старого кадра. Это и есть разрыв изображения.
Понятно, что эта конкретная проблема вызвана программной стороной медали. Поэтому и исправлять ее мы будем тоже программно.
Примечание: используется ТОЛЬКО для жалоб на спам, рекламу и проблемные сообщения (например, нападки, оскорбления или грубости).
Включать или нет?
Включать необходимо в случае использования VSync в играх. При использовании VSync качество картинки повышается за счет удаления так называемого разрыва изображения, из-за этого может проседать ФПС. Результат — позволяет снизить к минимуму задержки в подготовки данных видеокартой. Особенно касается топовых процессоров/видеокарт.
Тройная буферизация доступна только в OpenGL, для активации в Direct3D играх можно воспользоваться программой RivaTuner.
RivaTuner предназначена для тонкой настройки видеокарт NVIDIA. Присутствуют недокументированные функции драйверов Detonator всех версий, низкоуровневый разгон GPU, исправление рефреша, модуль диагностики.
В обычных условиях тройная буферизация дает повышение производительности, уменьшение количества микрофризов.
Если данный тип буферизации плохо влияет на игру — возможно дело в драйверах. Можно попробовать поставить другие драйвера, предыдущие. Совет — перед установкой сделайте точку восстановления. Если вы недавно устанавливали драйвера, тогда сделайте наоборот — попробуйте восстановить состояние ПК до установки новой версии.
Четырехкратная буферизация
Термин четырехкратная буферизация означает использование двойной буферизации для каждого изображения для левого и правого глаза в стереоскопических реализациях, таким образом, всего четыре буфера (если бы использовалась тройная буферизация, то было бы шесть буферов). Команда на перестановку или копирование буфера обычно применяется к обеим парам одновременно, поэтому один глаз никогда не видит более старое изображение, чем другой.
Стандарты 3D, такие как OpenGL и Direct3D, поддерживают четырехкратную буферизацию.
Рассмотрим, что такое буферизация в играх?
Для передачи изображения игр также используется буферизация. В играх используется как двойная, так и тройная. Двойная буферизация предназначена для более слабых ПК и ОС, в то время как тройная – для более мощных.
Если использовать тройную буферизацию на слабой ОС, игра может глючить. Иными словами, от того, какого вида процесс используется на вашем компьютере, зависит производительность. Игры тоже бывают разные, с разными требованиями к ПК и ОС.
Подбирать вид буферизации достаточно сложно, так как производители игр создают свое детище, используя разнообразные методы. Поэтому на игровых форумах можно часто слышать о том, как определенная игра плохо работает с тройной буферизацией, и наоборот.
В идеале, производители должны указывать системные требования конкретной игры, её совместимость с различными ОС, поддержка буферизации и т. д.
В случае если производитель не дал конкретной информации по поводу совместимости, её можно проверить самому. В любом случае тратится только время, компьютеру это никакого вреда не принесет. Несовместимость можно будет заметить практически сразу, так как она отражается в торможении графической визуализации и плохой синхронизации изображения со звуком.
Дополнительно
Название | Описание |
---|---|
Flip Queue Size | Количество заранее подготавливающихся кадров. Включение может снизить/исключить провалы ФПС. Рекомендуемое значение — 2. При наличии многоядерного процессора значение 0 может снизить производительность. |
Anisotropic/Trilinear Filtering Optimizations | Оптимизация анизотропной и трилинейной фильтрации. Включение повысит скорость, снижение качества картинки вы вряд ли заметите. Актуально для топовых моделей видеокарт. |
Адаптивное сглаживание | Сглаживание обьекта (anti-aliasing) происходит не полностью, а только по краям. Эффект достигается использованием сильных сторон мультисемплинга (MSAA) и суперсемплинга (SSAA). |
Поддержка сжатия DXT | Сжатие текстур без потерь в целях экономии пропускной способности. Рекомендуется включать. |
Другое использование
Двойная буферизация также используется как метод для облегчения чересстрочной развертки или деинтерлейсинга видеосигналов.
Введение
Предлагаем Вашему вниманию полное описание контрольной панели драйвера. Обращаем ваше внимание на то, что некоторые настройки доступны только при определенных типах применяемого оборудования. В данном обзоре мы постарались отразить все возможные настройки.
Смотрите также
Артефакты изображения
С разрывами, подергиваниями и подвисаниями, связанными с проблемами вывода кадров с видеокарты на монитор разобрались. Все остальные неприятности, вызванные другими причинами — это артефакты изображения.
Они представляют собой различные искажения картинки. Это не разрывы кадра. Чаще всего полосы на экране, точки, квадратные и прямоугольные скопления, фантомы и другие искажения. Отметим, что неполадки должны наблюдаться именно во время запуска игр или других «тяжелых» графических приложений, нагружающих видеокарту. Если точки на мониторе висят постоянно, то это битые пиксели. Не перепутайте!
Вот здесь на скриншоте явно не артефакт изображения:
Артефакты изображения могут иметь программное или аппаратное происхождение (как показывает практика, чаще всего второй вариант).
Что можно сделать, чтобы избавиться от артефактов программно:
Проблема может крыться и в самой игре. Скачали пиратский репак — получили проблему с изображением. Крайне редкое явление, но может случиться. Тут поможет установка другой версии игры.
Большинство аппаратных проблем, вызывающих артефакты изображения, своими руками решить невозможно. Просто перечислим их для развития кругозора:
Единственный момент, который можно исправить самостоятельно — это если искажения возникают из-за перегрева видеокарты (проверяем температуру специальной программой, например Everest). Можно почистить ее от пыли, заменить термопасту или поменять систему охлаждения на более мощную.
Но и здесь стоит понимать, что если графический процессор устаревший и не справляется с современными играми, то хоть лед к нему приложите (так делать точно не стоит) — кардинально ситуацию это не исправит.
В случае возникновения подозрения, что шалит именно «железо», несем его в специализированный сервисный центр.