Jump to content

Цепочка обмена

(Перенаправлено из цепочки обмена )

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

Цепочка обмена
Графическое изображение цепочки подкачки с тройной буферизацией.

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

Microsoft Direct3D реализует класс SwapChain. Каждому хост-устройству назначена по крайней мере одна цепочка подкачки, а другие могут быть созданы клиентским приложением. [1] API предоставляет три метода обмена: копирование, удаление и переворот. Когда SwapChain настроен на переворот, экранный буфер копируется в последний обратный буфер, затем все существующие обратные буферы копируются вперед по цепочке. Когда копия установлена, каждый обратный буфер копируется вперед, но экранный буфер не переносится в последний буфер, оставляя его неизменным. Переворот не работает, когда имеется только один обратный буфер, поскольку экранный буфер копируется поверх единственного обратного буфера, прежде чем его можно будет представить. В режиме сброса драйвер выбирает лучший метод. [2]

Сравнение с тройной буферизацией

[ редактировать ]

Вне контекста Direct3D тройная буферизация относится к методу, позволяющему приложению использовать любой задний буфер, который последний раз обновлялся. Это позволяет приложению всегда продолжать рендеринг, независимо от скорости отрисовки кадров приложением или скорости отправки кадров на дисплей. Тройная буферизация может привести к тому, что кадр будет отброшен без отображения, если два или более новых кадров полностью визуализируются за время, необходимое для отправки одного кадра на дисплей. Напротив, цепочки подкачки Direct3D представляют собой строгую очередь «первым пришел — первым вышел» , поэтому каждый кадр, нарисованный приложением, будет отображаться, даже если доступны новые кадры. Direct3D не реализует новейшую стратегию замены буферов, а в документации Microsoft цепочка замены Direct3D из трех буферов называется «тройной буферизацией». Тройная буферизация, описанная выше, лучше подходит для интерактивных целей, таких как игры, но цепочки подкачки Direct3D, состоящие из более чем трех буферов, могут быть лучше для таких задач, как представление кадров видео, для которых требуется время. декодирование каждого кадра может быть очень переменным. [3]

  1. ^ «Класс SwapChain» . Майкрософт . Проверено 30 октября 2009 г.
  2. ^ «Цепочки обмена» . neXe . Проверено 16 мая 2015 г.
  3. ^ «Тройная буферизация: почему нам это нравится» . АнандТех . Проверено 27 мая 2014 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 8fdf6b9f3290aebf90520028b4acd026__1662996180
URL1:https://arc.ask3.ru/arc/aa/8f/26/8fdf6b9f3290aebf90520028b4acd026.html
Заголовок, (Title) документа по адресу, URL1:
Swap chain - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)