Skip to main content

Что такое своп цепочка?

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

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

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

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

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