Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.06.25;
Скачать: CL | DM;

Вниз

Как ограничить FPS   Найти похожие ветки 

 
2Wish   (2005-11-07 21:38) [0]

Здрасте, скажите какие есть способы ограничения FPS в DelphiX?


 
DR0N ©   (2005-11-07 21:51) [1]

А что поменять интервал DelphiX ого таймера уже не помогает?
TimerInterval=1000/FPS... где FPS - нужная нам скорость.


 
2Wish   (2005-11-07 22:07) [2]

Так я делал, но тогда неправильно будет работать DXInput, потому что DXInput1.Update; присходит во время таймера. :(


 
DR0N ©   (2005-11-07 22:42) [3]

Сделай 2 таймера...
Хотя проблема не ясна у тебя процесс идет в отрисовке в том же таймере, о какой асинхронности может идти речь?


 
2Wish   (2005-11-08 18:31) [4]

2DR0N
Асинхронность между нажатием игром на кнопку и процесом обновления DXInput. Два таймера тоже не выход, из-за ActiveOnly, есть другие предложения?


 
Sphinx ©   (2005-11-09 09:34) [5]

С DelphiX не работал...
Юзаю чистый DirectX и WinAPI и вполне доволен, поступаю следующим образом:
В основном цикле обрабатываю все сообщения и отрисовываю графику, а по событию таймера обновляю состояние клавишь через DirectInput.

Событие WM_TIMER не использую, потому как а) оно выстраивается в очередь сообщений и нужно обрабатывать в основном цикле, б) размерность этого таймера зависит от системы (9х - 55мс, NT - 10 мс).

Пользуюсь таймером из MMSystem. Во-первых у него есть процедура обратного вызова, для меня это удобней чем с обработкой сообщения WM_TIMER, а во-вторых у этого таймера размерность до 1 мс, если не меньше...

Если все выше сказанное соотнести с VCL получится, что обработка графики идет по OnIdle, а чтение состояния клавишь - по OnTimer (только таймер не стандартный TTimer и даже не TDXTimer).

> Асинхронность между нажатием игром на кнопку и процесом
> обновления DXInput.

По идее DirectInput обрабатывает ВСЕ нажатия, если только не произошло переполнение буфера.
О какой асинхронности идет речь ??
Запоздалая реакция на нажатие ??? Тогда нужно чаще обновлять состояние кнопок...
Пропускаются моменты нажатия/отпускания ? Увеличь размер буфера и уменьши интервал опроса...



Страницы: 1 вся ветка

Текущий архив: 2006.06.25;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.027 c
15-1149121986
dancer
2006-06-01 04:33
2006.06.25
PHP: выборка из массива


15-1149143398
Игорь Шевченко
2006-06-01 10:29
2006.06.25
Offtopic: Ищется квартира в Москве на предмет снять :)


15-1148984742
Nic
2006-05-30 14:25
2006.06.25
Курсовик по VBA ...


3-1146638862
G707
2006-05-03 10:47
2006.06.25
Необходимо сформировать следующий запрос


3-1146332166
Express
2006-04-29 21:36
2006.06.25
ADOCommand – как перейти на следующую запись???