буфер экрана

Двойная буферизация — в информатике метод подготовки данных, обеспечивающий возможность отдачи готового результата, без прерывания процесса подготовки следующего результата.
Основные области применения двойной буферизации:
отрисовка содержимого экрана
воспроизведение смешанного звука от нескольких источников Описание [ править | править вики-текст ]
При использовании двойной буферизации вывод информации осуществляется во вторичный буфер, а чтение информации для отдачи «наружу» — из первичного.
В тот момент, когда завершается процесс чтения, при условии, что процесс обработки данных завершён, буферы меняются названиями (технически это осуществляется обменом значений указателей на буферы), и вывод данных начинает осуществляться из «нового» первичного буфера (бывший вторичный), а результаты обработки помещаются в «новый» вторичный.

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

Однако такое копирование может само «не уместиться» в обратный ход кадров. В этом случае спасает двойная буферизация, то есть аппаратное переключение картинки на новый буфер вместо копирования. См. также [ править | править вики-текст ]
Существует модификация метода двойной буферизации, которая называется тройная буферизация, позволяющая уменьшить задержки в выводе результата из-за несовпадения скоростей ввода-вывода ценой увеличения количества буферов. Ссылки [ править | править вики-текст ]
Двойная буферизация
Двойная буферизация с использованием GDI и GDI+
Это заготовка статьи по информатике. Вы можете помочь проекту, дополнив её. Это заготовка статьи о программном обеспечении. Вы можете помочь проекту, дополнив её.

копирование изображения с экрана в буфер обмена

буфер дисплея

Такая проблема - по умолчанию в Windows размер "буфера экрана" для консоли - 300 строк. Я вывожу гораздо больше (около 1200 строк) соотв

Читать

что такое буфер экрана

Создать буфер экрана для терминала. FillConsoleOutputAttribute. Устанавливает цвет символов и фона для указанного числа текстовых ячеек.