Программирование игр для Windows. Советы профессионала


Дублирующая буферизация - часть 4


// построение окружностей в дублирующем буфере

Circles () ;

printf("Done, press any key.");

//ожидание нажатия клавиши, прежде,чем перебросить

// окружности на экран

getch();

ShowDoubleBuffer(double_buffer);

_settextposition(0,0) ;

printf("That was quick. Hit any key to exit.");

// ожидание нажатия клавиши

getch ();

// восстановление первоначального видеорежима

_setvideomode(_DEFAULTMODE);

} // конец функции main

Конечно, эта программа не самая захватывающая в мире, но она дает четкое представление о том, что нас интересует. Обратите внимание, что функция вывода пикселя записывает его вместо видеобуфера в дублирующий буфер.

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




Начало  Назад  Вперед