Главная страница
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.011 c
1-101320
NA
2002-10-19 14:13
2002.10.31
директива INCLUDE своими силами, или Собираем файл из шаблонов.


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


3-101160
Дмитрий 2002
2002-10-10 11:24
2002.10.31
Ошибка загрузки midas.dll


3-101135
Kurt
2002-10-10 11:36
2002.10.31
Как передавать параметры в ADOQuery если несколько параметров в з


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