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