triple buffering что это



Triple buffering

Автор J.Lan задал вопрос в разделе Железо

что означает функция "тройная буфферизация" на видеокарте? и получил лучший ответ

Ответ от Egor gri.[мастер]
Тройная буферизация позволяет увеличить скорость вывода изображения по сравнению с двойной буферизацией. В реальных приложениях это часто связано с попыткой абстрагировать операции формирования графики от синхронизации с частотой обновления монитора. Как правило, кадры рисуются с частотой ниже или выше частоты обновления экрана (с переменной частотой кадров) без обычных эффектов, которые это могло вызвать (а именно: мерцание, сдвиги, разрывы) . Так как программе не требуется опрашивать оборудование для получения событий обновления экрана, алгоритм может свободно выполняться максимально быстро. Это не единственный доступный метод тройной буферизации, но преобладающий на архитектуре PC, где скорость машины может сильно различаться.
Другой метод тройной буферизации включает в себя синхронизацию с частотой обновления экрана, используя третий буфер просто как способ предоставить свободное пространство для запросов на изменения в общем объёме выводимой графики. Здесь буфер используется в истинном смысле, когда он действует как хранилище. Такой метод предъявляет повышенные минимальные требования к аппаратному обеспечению, но обеспечивает согласованную (по сравнению с переменной) частоту кадров.
Тройная буферизация предполагает использование трёх буферов, но метод может быть расширен на любое количество буферов, нужное приложению. Обычно использование четырёх и более буферов не даёт каких-либо преимуществ.
Источник: Wikipedia

Ответ от Sergey Andrianov[гуру]
Здесь есть некоторая терминологическая тонкость, связанная с отличием значения английского слова "buffer" от русского "буфер". При этом английскому "double buffering" соответствует русское "буферизация" (подразумевается единственный буфер) .
Таким образом, технология, о которой задан вопрос, подразумевает экранную область видеопамяти (которую у нас не принято называть буфером, а англоязычные - считают) и два буфера в оперативной памяти.
Эта технология применялась В ПРОШЛОМ - тогда, когда само изображение формировалось центральным процессором (CPU), а не графическим (GPU) как сейчас.
При этом из видеопамяти происходило отображение на экран, а процессор в это время готовил в первом буфере следующий кадр. Если кадр был подготовлен, а видеоконтроллер еще не отобразил до конца предыдущий, кадр становился в очередь на отображение (дожидался импульса обратного хода развертки) , а процессор, чтобы не терять времени, брался за формирование следующего кадра во втором буфере.
Сейчас, когда формирование отображения переложено на GPU, технология "тройной буферизации" ушла в прошлое.

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

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: что означает функция "тройная буфферизация" на видеокарте?
спросили в Железо
Разрыв изображения в играх.
Включите тройную буферизацию в настройках игры иили видеодрайвера.
подробнее...
Тройная буферизация на Википедии
Посмотрите статью на википедии про Тройная буферизация
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*