Геодата нагружает ЦП

Elisium

Последний из атеистов
Участник
Сообщения
38
Розыгрыши
0
Репутация
22
Реакции
18
Баллы
895
Хроники
  1. The 2nd Throne: Gracia
Сборка
Emurt
Доброго времени суток!
Такая проблема. При "включенной" геодате процессор грузится скачками до 100%. В игре во время этого скачка происходит "фриз". Проблема наблюдается локально и на VDS.
Пробовал "отключать" мобам геодату в исходниках- не помогло.
Исходники Emurt Epilogue. Те что в шаре на форуме
 

Обычно это вызвано работой сборщика мусора.
Попробуйте увеличить лимит памяти параметром -xmx при запуске сервера. Если ее у вас не достаточно, чтобы можно было увеличить - добавьте файл подкачки. Серверу обычно необходимо минимум 4Гб свободной памяти при включенной геодате, лучше -xmx ставить от 5Гб(ну и память на все это дело)
 
А еще лучше, подключить откладчик и посмотреть в каком именно месте поджирается CPU (если при подключении геодаты, это может быть поиск пути, к примеру). Может быть конечно и оперативка (как сказал оратор выше), но я лично сомневаюсь в этом.
 
На ява сервере емурт, расчет пути солидно потребляет ресурсы процессора! Соответственно когда много мобов в парике, идет максимальное потребление процессора, причем доходит до фризов, попробуйте поэкспериментировать с этими настройками
# Диагональный поиск
# Стоит отключать только для отладки
PathFindDiagonal = True

# Сглаживает путь (стоит отключать только для отладки)
PathClean = True

# Сильно ускоряет поиск, как влияет на качество неизвестно
# 0 - отключить, 1 - только начало пути, 2 - начало и конец пути
PathFindBoost = 1

вте таки на птсе удивительно оптимизирован геодвиг и поиск пути, очередной раз восторгаюсь...
 
На ява сервере емурт, расчет пути солидно потребляет ресурсы процессора! Соответственно когда много мобов в парике, идет максимальное потребление процессора, причем доходит до фризов, попробуйте поэкспериментировать с этими настройками
# Диагональный поиск
# Стоит отключать только для отладки
PathFindDiagonal = True

# Сглаживает путь (стоит отключать только для отладки)
PathClean = True

# Сильно ускоряет поиск, как влияет на качество неизвестно
# 0 - отключить, 1 - только начало пути, 2 - начало и конец пути
PathFindBoost = 1

вте таки на птсе удивительно оптимизирован геодвиг и поиск пути, очередной раз восторгаюсь...
Ну то просто не видели нормальный геодвиг для явы.
 
Обычно это вызвано работой сборщика мусора.
Попробуйте увеличить лимит памяти параметром -xmx при запу
На ява сервере емурт, расчет пути солидно потребляет ресурсы процессора! Соответственно когда много мобов в парике, идет максимальное потребление процессора, причем доходит до фризов, попробуйте поэкспериментировать с этими настройками
# Диагональный поиск
# Стоит отключать только для отладки
PathFindDiagonal = True

# Сглаживает путь (стоит отключать только для отладки)
PathClean = True

# Сильно ускоряет поиск, как влияет на качество неизвестно
# 0 - отключить, 1 - только начало пути, 2 - начало и конец пути
PathFindBoost = 1

вте таки на птсе удивительно оптимизирован геодвиг и поиск пути, очередной раз восторгаюсь...
Вы имеете ввиду в конфиги гео сделать как вы написали?
 
Возможно через ж... сделан поиск путей у мобов. К примеру упершись в стену при возврате к точке спавна аи начинает усиленно флудить запросами на постройку пути движения до точки спавна, забивая пул задач с расчетами движения и т.п.

Нечто подобное есть в оригинальном овере с мобами, движущимися по определенным маршрутам - те же патрули в драгон вэлли при определенных условиях могли выжирать ну очень дофига процессорного времени. сами сталкивались с этой хренью в свое время, когда разбирались, какого фига иногда идет ну уж очень большая нагрузка на проц ни с того ни с чего.
 
Если 10 винда стоит, то дело в жестяке, а точнее в проверки файлов в реальном времени.
 
PositionUtils.java в этом классе изменить return Math.hypot(x1 - x2, y1 - y2); на return Math.sqrt ну и в скобках поменять выражения, вычисления будут проводиться быстрее в разы и отъедать процессор меньше.
 
PositionUtils.java в этом классе изменить return Math.hypot(x1 - x2, y1 - y2); на return Math.sqrt ну и в скобках поменять выражения, вычисления будут проводиться быстрее в разы и отъедать процессор меньше.
Довольно таки медленная)
jafama_perf-600x560.png
 
Назад
Сверху Снизу