Попробовал самую очевидную оптимизацию рендера, теперь отрисовываются только те клетки, которые в камере. Карта корраптится при движении камеры, надо исправить, зато масштаб работает и прирост производительности очень хороший, теперь до 200 объектов обрабатывается при стабильных 60 ФПС. Промежуточный коммит, хочу посмотреть сколько можно ещё выжать кадров на 500 объектах, потом нужно починить движение камеры. Также написал простую функцию спавна эльфов в главном цикле для создания нагрузки. Эльфы создаются в углах карты и по центру каждые сто тактов цикла. Они начинают перемещаться по карте в случайные точки, создавая относительно равномерную нагрузку поиска пути.

This commit is contained in:
shiva404
2026-03-05 22:00:32 +03:00
parent 45f2c71cb8
commit fa189a4c3b
4 changed files with 123 additions and 50 deletions

View File

@@ -90,10 +90,10 @@ class Creature(Object):
self.render_offset = (0.0, 0.0)
return
self.replan_counter += 1
if self.replan_counter >= self.REPLAN_INTERVAL:
self.replan_counter = 0
self.replan(map_obj.cells, self.start_pos)
#self.replan_counter += 1
#if self.replan_counter >= self.REPLAN_INTERVAL:
# self.replan_counter = 0
# self.replan(map_obj.cells, self.start_pos)
if self.current_target is None: return