Вниз
Скачать: 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
6-101423
BAHO
2002-09-01 01:18
2002.10.31
Record потоком по сети


4-101562
---Vect----
2002-09-18 09:52
2002.10.31
Как выгрузить из памяти Dll?


4-101575
Alexander
2002-09-19 13:48
2002.10.31
Можно ли в ListBox одну из строк сделать с жирным шрифтом


3-101105
split
2002-10-09 18:06
2002.10.31
Сетевой доступ к Ексессовской базе.


3-101168
kserg@ukr.net
2002-10-10 12:01
2002.10.31
WinXP + ADO? = проблем




   Наверх