2016-04-17 3 views
0

Я только что узнал, что такое двойной буфер, и я полностью понимаю, как они работают и почему они используются (спасибо Богу за Википедию!)Трехсторонний флип-буфер - это возможно?

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

Но перелистывание страницы (также известное как буферизация пинг-понга) также, по-видимому, быстрее и устраняет разрывы графики.

Так что мои вопросы таким образом:

  1. Можно ли сделать лучшее из обоих миров и имеют тройной буфер страницы флип? Итак, анимация не только гладкая, но и без слез.
  2. Будет ли стоить хлопот по созданию этого триплексного флип-буфера? Например, ускорит ли анимация или просто наложит ненужное напряжение на устройство?

Заранее спасибо!

ответ

1

Большинство аппаратных средств, которые я знаю, использует то, что Википедия называет "the page-flip method" -i.e. отображение нового кадра анимации путем переключения этого буфера считается передним буфером без какой-либо операции копирования. Этот метод полностью совместим с тройной буферизацией - если вы можете изменить, какой буфер из двух вы считаете передним буфером, вы можете сделать то же самое с тремя.

Использование трех буферов в первую очередь является компромиссом: вы не теряете время, не имея буфера для рисования (если рисунок быстрее, чем частота обновления), но он использует больше памяти и может потенциально добавить дополнительная латентность.