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


Использование сигнала вертикальной синхронизации - часть 3


// хода луча - ничего не делаем

} // конец оператора while

// начался обратный вертикальный ход луча –

// возвращаем управление вызвавшей функции

} // конец Wait_For_Vsync

// ОСНОВНАЯ ПРОГРАММА //////////////////////////////////////  .

void main(void)

{

long nuinber_vsyncs=0;  // хранит количество циклов

// обратного вертикального хода луча

while(!kbhit())

{

// ожидание vsync

Wait_For_Vsync(};

// выводим графику или что-либо еще пока происходит

// обратный вертикальный ход луча и мы имеем в своем

// распоряжении 1/70 секунды! Обычно в это время выполняется

// копирование дублирующего буфера в видеопамять

// увеличивается количество циклов vsyncs

number_vsyncs++;

// вывод на экран

_settextposition(0,0) ;

printf ("Number of vsync's = %ld   ",number_vsyncs);

} // конец оператора while

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

Существует миллион вещей, для которых можно использовать обратный вертикальный ход луча:                                      

§          Мы можем использовать это время в качестве основы для некоторых процессов или событий;

§          Мы можем использовать это для того, чтобы игровой цикл выполнялся с частотой 70Гц на любой машине;

§          Наконец, мы можем использовать это для синхронизации процесса обновления графики с периодом обратного вертикального хода луча.

Замечание

Я хотел бы сказать вам еще и о том, чего вы делать не должны. Речь идет об использовании прерывания по обратному вертикальному ходу луча. Персональные ...компьютеры имеют аппаратную поддержку вектора прерывания периода обратного вертикального хода луча. Однако такая поддержка не является стандартной для IBM-совместимых персональных компьютеров и не всегда может работать. К тому же, при этом используется INT2, который зарезервирован IBM для фатальных ошибок аппаратного обеспечения. Поэтому я не буду говорить об этом прерывании, так как оно зависит от марки компьютера и большинство программистов его не используют.

 

Перейдем к следующей интересной и захватывающей теме: мультипликации с помощью регистров цвета.




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



Книжный магазин