Исправление rezedent12, (текущая версия) :
// Краткая история изменений:
// 22 → 23 сентября: в бенчмарке изменили интеграцию с World и закрытие ресурсов. В логах одновременно виден резкий спад живой кучи — с ~10 ГБ до ~1,3 ГБ. Это сильное улучшение по памяти, хотя один debug.log не доказывает, что именно конкретное изменение кода стало причиной.
// 23 → 24 сентября: крупного улучшения по памяти не видно: ~1,33 → ~1,31 ГБ. В коде развивали очистку и статистику пространственной сетки, но debug.log не показывает заметного выигрыша в heap или GC.
// 24 → 25 сентября: наиболее существенная перемена. Убрали регистрацию отстающих акторов через очередь команд, добавили пакетную проверку акторов и адаптивное снижение целевого TPS при лаге. Также очистку пустых ячеек переработали так, чтобы дорогой проход меньше удерживал эксклюзивную блокировку. В логе одновременно heap после GC падает с ~1,31 ГБ до ~283 МБ, а доля GC — с 8% до 2%.
// 25 → 29 сентября: акторов распределили по 16 фазам — вместо одновременного пробуждения всей группы они просыпаются порциями. Добавили подробные измерения опозданий фаз, таймеров, эффективного TPS и гистограммы задержек. Это прежде всего улучшение распределения нагрузки и диагностики. После разделения на 16 контекстов, TPS поднялся до 58 при целевых 60. До 111 при целевых 120 и до 160 при целевых 180. Уменьшилось число замедлений из за отставаний.
// 29 сентября: добавлена ограниченная коррекция дрейфа расписания (до 20% периода), сброс временной привязки при смене применённого режима TPS и метрики коррекций/отброшенных опозданий. Успешно, TPS стал практически полностью управляемым и просаживается только в рамках отказа от попыток догонять при внешних лагах. CellList хранит согласованный отсортированный список шардов; маршрутизация и объединение используют его, добавлены проверки и микробенчмарки.
// 6 октября: уменьшены временные аллокации пространственной сетки. Введён механизм с фиксированным срезом на 16 элементов.
// Так же 6 октября, превзошёл переход со ступенчатого замедления выдачи тиков, до жёсткого с предварительной регистрацией отстающих. В тесте на 180 целевых TPS, результат повысился с 162 до 170
@xwicked помнится ты хотел подписку оплатить для меня в теме: Я нищее уебище (комментарий)
Добил я подписку на syntx.ai, для постоянного использования не рекомендую.
Если нет иностранной карты, то наверно здесь купить подписку можно https://ggsel.net/catalog/product/24-7-chatgpt-6-plus-1-mesiac-podpiska-cerez-token-avto-catgpt-3650076
Буду улучшать движок. Хотя надо провести исследование экономики kenshi, дабы рассчитать то насколько нужно сжать по времени и объёмам всё связанное с производством еды. Что бы пропорция сельского и городского населения была реалистичной, а игроку было не скучно растить урожай.
Исходная версия rezedent12, :
@xwicked помнится ты хотел подписку оплатить для меня в теме: Я нищее уебище (комментарий)
Добил я подписку на syntx.ai, для постоянного использования не рекомендую.
// Краткая история изменений:
// 22 → 23 сентября: в бенчмарке изменили интеграцию с World и закрытие ресурсов. В логах одновременно виден резкий спад живой кучи — с ~10 ГБ до ~1,3 ГБ. Это сильное улучшение по памяти, хотя один debug.log не доказывает, что именно конкретное изменение кода стало причиной.
// 23 → 24 сентября: крупного улучшения по памяти не видно: ~1,33 → ~1,31 ГБ. В коде развивали очистку и статистику пространственной сетки, но debug.log не показывает заметного выигрыша в heap или GC.
// 24 → 25 сентября: наиболее существенная перемена. Убрали регистрацию отстающих акторов через очередь команд, добавили пакетную проверку акторов и адаптивное снижение целевого TPS при лаге. Также очистку пустых ячеек переработали так, чтобы дорогой проход меньше удерживал эксклюзивную блокировку. В логе одновременно heap после GC падает с ~1,31 ГБ до ~283 МБ, а доля GC — с 8% до 2%.
// 25 → 29 сентября: акторов распределили по 16 фазам — вместо одновременного пробуждения всей группы они просыпаются порциями. Добавили подробные измерения опозданий фаз, таймеров, эффективного TPS и гистограммы задержек. Это прежде всего улучшение распределения нагрузки и диагностики. После разделения на 16 контекстов, TPS поднялся до 58 при целевых 60. До 111 при целевых 120 и до 160 при целевых 180. Уменьшилось число замедлений из за отставаний.
// 29 сентября: добавлена ограниченная коррекция дрейфа расписания (до 20% периода), сброс временной привязки при смене применённого режима TPS и метрики коррекций/отброшенных опозданий. Успешно, TPS стал практически полностью управляемым и просаживается только в рамках отказа от попыток догонять при внешних лагах. CellList хранит согласованный отсортированный список шардов; маршрутизация и объединение используют его, добавлены проверки и микробенчмарки.
// 6 октября: уменьшены временные аллокации пространственной сетки. Введён механизм с фиксированным срезом на 16 элементов.
// Так же 6 октября, превзошёл переход со ступенчатого замедления выдачи тиков, до жёсткого с предварительной регистрацией отстающих. В тесте на 180 целевых TPS, результат повысился с 162 до 170
Если нет иностранной карты, то наверно здесь купить подписку можно https://ggsel.net/catalog/product/24-7-chatgpt-6-plus-1-mesiac-podpiska-cerez-token-avto-catgpt-3650076
Буду улучшать движок. Хотя надо провести исследование экономики kenshi, дабы рассчитать то насколько нужно сжать по времени и объёмам всё связанное с производством еды. Что бы пропорция сельского и городского населения была реалистичной, а игроку было не скучно растить урожай.