Текущий архив: 2002.10.31;
Скачать: CL | DM;
Вниз
Как синхронизировать графику с частотой кадровой развертки? Найти похожие ветки
← →
xela © (2002-08-22 10:28) [0]При программировании в DOS синхронизация вывода графики
с частотой кадровой развертки монитора выполнялась так:
mov dx,03DAh
@m: in ax,dx
test al,8
jz @m
Попытка запуска этой процедуры под WinNT/2000/XP приводит к ошибке.
Наверняка в Delphi (или в WinAPI) существуют способы узнать
о завершении обратного хода луча.
Подскажите пожалуйста API-функцию или Delphi-функцию или способ
открыть прямое обращение к портам ввода/вывода в указанных OS.
← →
Ученик © (2002-08-22 10:32) [1]А что CGA еще сохранилось ?
← →
Xela © (2002-08-22 10:38) [2]Вот мне и интересны варианты...
← →
Ученик © (2002-08-22 10:42) [3]Обо всех вариантах позаботиться система, так что о таких мелочах можно забыть :)
← →
DiamondShark © (2002-08-22 12:32) [4]
> xela © (22.08.02 10:28)
А зачем это??!!
Нет, ну серьезно, Зачем?
Интересно!
← →
Xela © (2002-08-22 18:33) [5]если знать в какой момент заканчивается обратный ход луча, то при выводе картинки по таймеру можно избежать мерцания - проще не придумать :)
← →
Jeer © (2002-08-22 19:14) [6]Класс !
А если еще знать моменты когда user на экран не смотрит, можно вообще не выводить..
← →
DiamondShark © (2002-08-22 23:32) [7]
> Xela © (22.08.02 18:33)
Неправильно.
Современные (начиная года так с 198x, с момента выхода EGA) видеоадаптеы не мигают при рассинхронизации вывода и развертки. А с появлением многопортовой памяти про эту проблему забыли раз и навсегда.
Причина мигания в другом, она значительно проще, и она исключительно программная.
Перерисовка окна выполняется в две фазы: сообщение WM_ERASEBKGND и сообщение WM_PAINT.
А дальше -- SDK Help, и вперед!
← →
xela © (2002-08-25 08:36) [8]Спасибо!!!
← →
Polevi © (2002-08-25 14:38) [9]:-)
← →
EVV (2002-08-27 14:09) [10]Указать форме, чтобы использовалась двойная буферизация. А зачем же asm опускаться?
Страницы: 1 вся ветка
Текущий архив: 2002.10.31;
Скачать: CL | DM;
Память: 0.49 MB
Время: 0.009 c