Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2006.06.25;
Скачать: [xml.tar.bz2];

Вниз

Как ограничить 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.009 c
15-1148894966
ольга
2006-05-29 13:29
2006.06.25
Delphi+AutoCad


15-1148497229
Kerk
2006-05-24 23:00
2006.06.25
00:00


1-1147960956
Alex35
2006-05-18 18:02
2006.06.25
Какие сделать демки?


2-1149663491
Beginer123
2006-06-07 10:58
2006.06.25
Пауза


11-1129183342
GMax
2005-10-13 10:02
2006.06.25
TKOLThread - ошибка ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский