Powered by SerDer

Rambler's Top100 Service
Aport Top 1000
TopList
be number one

         

Двойная буферизация

Следующий метод, требующий использования дополнительной экранной памяти, обычно называют двойной буферизацией (double buffering). Он применяется для обеспечения плавности движения в быстро меняющихся изображениях (например, при мультипликации). Даже в простых моделях с быстродействующим аппаратным обеспечением непрерыное перерисовывание объекта может вызвать заметное мерцание экрана. Оно вызвано необходимостью всякий раз очищать дисплей перед тем, как система начнет рисовать объект в новой позиции . Чтобы устранить этот дефект, двойная буферизация позволяет системе рисовать образ в неотображаемой части экранной памяти, а затем переключать отображение на эту часть. В этом случае обьект немедленно воспроизводится в новой позиции.
Фактически, этот метод переопределяет некоторое количество плоскостей (вторичный буфер) как скрытую память и затем меняет местами два буфера так, что первичный буфер становится неотображаемым. Если вы работаете с псевдо-цветными изображениями, вам нужно два блока памяти глубиной по 8 плоскостей, всего 16 плоскостей, чтобы использовать этот метод. Если вы пожелаете иметь двухбуферное изображение с действительными цветами, понадобится уже 48 плоскостей. Когда формирование вторичного изображения завершено, вы сообщаете системе об изменении участка отображаемой памяти, и следующий кадр изображения возникнет на экране. Заметим, что такой подход не позволяет вам рисовать буферы быстрее , он только дает ощущение более реалистичного движения. Пока существует только теоретическая возможность генерировать двойные псевдо-цветные изображения для PC , и слишком мало программных средств ее реализуют.
Пример реализации содержится в проекте 3D Animator.

[Назад]

Почта
Помощь студенту-информатику

Reklama