Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.01 c
1-101314
race1
2002-10-18 15:54
2002.10.31
массив


7-101540
xela
2002-08-22 10:28
2002.10.31
Как синхронизировать графику с частотой кадровой развертки?


1-101222
Weare
2002-10-21 18:42
2002.10.31
Как узнать текущую директорию


3-101150
VMat
2002-10-10 00:08
2002.10.31
Как создать таблицу DBase III+ c полем NUMERIC 6.0


1-101187
bobr12
2002-10-21 11:02
2002.10.31
Есть ли в Delphi функция для решения уравнений?