Трехстраничный флип-буфер - возможно ли это?
Я только что обнаружил, что такое двойной буфер, и я полностью понимаю, как они работают и почему они используются (слава Богу за Википедию!)
Я также понимаю, что тройной буфер используется для плавной анимации графики.
Но перелистывание страниц (также известное как Ping Pong Buffering) также, по-видимому, быстрее и устраняет разрыв графики.
Итак, мои вопросы таковы:
- Можно ли сделать лучшее из обоих миров и иметь трехсторонний флип-буфер? Так что анимация не только плавная, но и без слез.
- Стоит ли идти к хлопотам по созданию этого буфера с тремя страницами? Например, сделает ли это анимацию быстрее или просто создаст ненужную нагрузку на устройство?
Заранее спасибо!
1 ответ
Большинство известных мне аппаратных средств использует то, что Википедия называет "методом переворота страниц" - то есть отображение нового кадра анимации путем переключения, который считается передним буфером, без какой-либо операции копирования. Этот метод полностью совместим с тройной буферизацией - если вы можете изменить какой из двух буферов вы рассматриваете как передний буфер, вы можете сделать то же самое с тремя.
Использование трех буферов, во-первых, является компромиссом: вы не тратите время, не имея буфера для рисования (если рисование быстрее, чем частота обновления), но оно использует больше памяти и потенциально может добавить дополнительную задержку.