For faster navigation, this Iframe is preloading the Wikiwand page for Двойная буферизация.

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

Материал из Википедии — свободной энциклопедии

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

Основные области применения двойной буферизации:

  • отрисовка содержимого экрана
  • воспроизведение смешанного звука от нескольких источников

При использовании двойной буферизации вывод информации осуществляется во вторичный буфер, а чтение информации для отдачи «наружу» — из первичного.

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

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

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

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

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

Это заготовка статьи по информатике. Помогите Википедии, дополнив её.
Это заготовка статьи о программном обеспечении. Помогите Википедии, дополнив её.
{{bottomLinkPreText}} {{bottomLinkText}}
Двойная буферизация
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?