![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
FPS [Delphi, Windows]
Карлсон © (2002-12-12 23:52:00)Пишу игру на DelphiX.
при появлении на экране большого количества объектов, FPS естественно снижается.
насколько я понял, нужно ставить ограничение, что если в данный момент ФПС ниже допустимого уровня, то интервал таймера уменьшить, если больше, то увеличить.
я прав или нет?
Карлсон (2002-12-14 00:06:00) [1]ну у меня последний релиз от Хори.
сейчас установил андельфи на пятую дельфю, попытаюсь переписать код под нее.
мож че путевое получится? :)
Sapersky_ (2002-12-13 23:04:00) [2]2Denton:
Смотрим, сколько времени затратили на вывод кадра (функция WinAPI QueryPerformanceCounter). Домножаем вектор скорости на коэффициент, пропорциональный этому времени.
Можно во избежание резких скачков усреднять коэффициент по нескольким кадрам.
Denton (2002-12-13 20:29:00) [3]Да, для 3D. у меня скорость перемещения объекта напрямую зависит от скорости смены кадров. Вопрос, как сделать их независимыми???
Mirovodin (2002-12-13 19:02:00) [4]Устанавливать предел FPS. т.е. не поднимать его выше определенного значения, тогда на любой машине получится одинаково или медленнее.
2 Denton © Я не понимаю, зачем тебе обновлять экран когда там НИЧЕГО не меняется ??? Это для 3D грфики нужно, там свет/тень и т.д.
Denton (2002-12-13 14:06:00) [5]Вопрос, как сделать чтобы перемишение объектов (или анимация) не зависила от скорости (FPS)?
Mirovodin (2002-12-13 13:24:00) [6]2 Карлсон © Альтернатива. Нужно точно установить из за чего тормозит. Например в одной из версий DelphiX спрайты которые были не видимы все равно обрабатывались при проверке столкновений. Потом этот баг убрали, но я не уверен что других не осталось. По этому нужно точно установить что дольше всего работает. И потом попытаться оптимизировать. Скорее всего придется править код именно DelphiX.
Карлсон (2002-12-13 13:10:00) [7]а какая тогда альтернатива иксу?
писать на DirectX API ?
книга у меня есть, но хочется чего-то попроще.
может быть GLScene ?
но с OpenGL я вообще никогда не работал.
как быть?
Mirovodin (2002-12-13 13:05:00) [8]2 Карлсон ©
Как, как - очень просто! Не умелое использование ресурсов в самом коде компонентов DelphiX, сожрет любой объем оперативной памяти. Там очень плохая работа с поверхностями, по этому когда много объектов начинаются тормоза. Хотя может это у тебя код плохо написан.
Карлсон (2002-12-13 10:57:00) [9]2 Mirovodin © (13.12.02 02:12)
дак это получается, что мой второй пенек не вытягивает ~200 объектов?
просто если объектов ~50, то фпс снижается на две-три единицы, а вот когда больше, то все тормозит.
2 Bones © (13.12.02 05:26)
туториалов дофига в нете.
поищите.
Bones (2002-12-13 05:26:00) [10]Удалено модератором
Mirovodin (2002-12-13 02:12:00) [11]А зачем, ты поставь у TDXTimer значение в 1000/30-40 и у тебя будет FPS ~33. А если машина не вытягивает, он будет снижаться. Если машина мощная останется на заданном уровне.
Ev_genus (2002-12-13 00:24:00) [12]А зачем это нужно?