Показать сообщение отдельно
Старый 07.04.2009, 11:36   #2
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: Wrecking Crew & LodeRunner : Leeroy

как стабилизировать fps??
Рассчитывать все изменения в игре от dt, где dt - время, прошедшее с последнего обновления. Это же позволяет сделать рендер-твининг (Blitz3D). Это что касается привязки к фпс (синхронизации); теперь о стабилизации. Обновлять графику (в плане рисовать её) не каждую итерацию,а раз 30 в секунду (человек имеет где-то 25Гц зрительного рефреш-а). В освободившиеся промежутки времени (из-за неперманентного режима отрисовки) обрабатывать тяжёлые, но не критичные ко времени завершения обсчёта участки логики. Дробить объекты на подгруппы, обрабатывая их по частям (на 1ой итерации боты с №0-19, на 2ой - 20-39, на 3ей - 40-45 [т.к. тут включилась отрисовка] и т.д.). Оптимизировать графический вывод - отрисовывать тока необходимый участок экрана (если это не делается движком), кешировать в простойные моменты (как вызванные слабой активностью игрока, так и итерацией без отрисовки) пока ненужные, но прогнозируемые участки. Перерисовывать только изменённые с последнего раза участки (правда, это моет спровоцировать неоправданный рост объёма логики отрисовки).
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?

Последний раз редактировалось impersonalis, 07.04.2009 в 11:44.
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо impersonalis за это полезное сообщение:
ABTOMAT (07.04.2009), Ende (07.04.2009)