Что делает тройная буферизация

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

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

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

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

Недостатки двойной буферизации [ править | править код ]

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

Читайте также:  Темы для виндовс 10 со звуками

Преимущества тройной буферизации [ править | править код ]

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

Ограничения тройной буферизации [ править | править код ]

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

Буферизация (информатика) — Буферизация (от англ. buffer) метод организации обмена, в частности, ввода и вывода данных в компьютерах и других вычислительных устройствах, который подразумевает использование буфера для временного хранения данных. При вводе данных одни… … Википедия

Буферизация — (от англ. buffer) метод организации обмена, в частности, ввода и вывода данных в компьютерах и других вычислительных устройствах, который подразумевает использование буфера для временного хранения данных. При вводе данных одни устройства или… … Википедия

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

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

Буфер (информатика) — В этой статье не хватает ссылок на источники информации. Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена. Вы можете … Википедия

Читайте также:  Я спокоен я абсолютно спокоен

Буфер (вычислительная техника) — В информатике буфер (англ. buffer) это область памяти, используемая для временного хранения данных при вводе или выводе. Обмен данными (ввод и вывод) может происходить как с внешними устройствами, так и с процессами в пределах компьютера. Буферы… … Википедия

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

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

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

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

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

Читайте также:  Телефон с жидкостным охлаждением

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

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

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