Как можно решить проблему с Fps?
Я тут игру делаю, игра у меня случайно генерируется, и также на одном уровне, и вот даже не знаю как решить проблему с фпс. Я уже сделал, что если за определенный радиус выходит объект, то он исчезает с комнаты, но если к объекту подойти, то он обратно появляется.
Но что можно сделать еще?
Игра на Game Maker: Studio
- 25 декабря 2016, 18:07
- 00
1) Shaders. Используй силу GPU вместо CPU, Люк!
2) Sprite/Texture Batching. Один draw call вместо тысячи.
3) Fixed Main Cycle/Loop. Не перерисовываем весь фреймбуфер каждую итерацию игрового цикла, обновляем регионами.
4) Caching + Lazy Evaluation. Повсеместное кэширование, пересчет только по надобности. Особенно для "статичных" объектов.
5) Object/Memory Pool. Меньше выделений памяти.
6) Data-Oriented Design. Размещаем данные компактно и последовательно в памяти, передаем по указателю на "массив", обрабатываем одним вызовом функции с, по возможности, разворачиваемым циклом. Меньше промахов кэша ЦПУ.
7) Spatial Space Partitioning. Особенно, если много объектов и/или дорогая физика (в т.ч. коллизии).
8) Алгоритмы и структуры данных под задачу, а не какие попало.
9) Распараллеливание вычислений на несколько ЦПУ.
10) При нестабильном фпс с резкими проседаниями, размазываем тяжелые вычисления по нескольким фреймам. Как минимум, если эти вычисления касаются визуалки, а не игрологики.
Да, довольно много информации, теперь наверно буду все это переводить на человеческий язык.