Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.012 c
7-101535
Ш-К
2002-08-23 15:23
2002.10.31
Переключаться программно между ECP/EPP.


7-101532
Автответчик
2002-08-21 16:28
2002.10.31
Как программно позвонить через модем и сказать стандартную фразу?


4-101593
Delphi 5.01
2002-09-17 20:22
2002.10.31
Posledovatelnost bait posilaemie na port modema?


3-101149
KidMan
2002-10-08 22:53
2002.10.31
BDE и инсталл шиилдс


1-101353
()utLaw
2002-10-20 00:00
2002.10.31
Запуск и завершение программы принудительно.




   Наверх