zip
Ostranauts.Performance.Optimizer.v2.by.@CoreForgeLabs.zip627.75 Kb
Ещё больше оптимизации!
============================================================
Ostranauts Performance Optimizer v2
Made with love by @CoreForgeLabs (telegram)
============================================================
## Что делает мод
Два основных улучшения производительности:
1. Устранение GC-фризов
Убирает периодические фризы (зависания на 0.5-1.5 секунды),
вызванные сборщиком мусора Unity/Mono при ускоренном
времени (16x).
2. Ускорение загрузки сейвов (SaveForce)
Сокращает время загрузки на 55-60%.
Пример: 72-82 секунды -> ~33 секунды на больших сейвах.
Оптимизации включают:
- Параллельный парсинг кораблей (многопоточный)
- Кеширование шаблонов условий с deep-clone
- Пропуск визуальных обновлений при загрузке (лица, оверлеи)
- Пакетное выполнение корутин
- Кеширование парсинга формул
3. Быстрый запуск (RUNSAVE.bat)
Запускает игру и автоматически загружает последний сейв.
Без ожидания в меню — сразу в игру!
## Установка
1. Скопируйте ВСЁ содержимое этой папки в корень игры:
C:\...\steamapps\common\Ostranauts\
Должно получиться:
Ostranauts\winhttp.dll
Ostranauts\doorstop_config.ini
Ostranauts\RUNSAVE.bat
Ostranauts\BepInEx\core\*.dll
Ostranauts\BepInEx\plugins\SaveForce.dll
Ostranauts\BepInEx\plugins\Run.dll
Ostranauts\BepInEx\plugins\OstronautsOptimizer.dll
2. Запустите игру обычным способом или через RUNSAVE.bat.
Готово!
## Быстрая загрузка
RUNSAVE.bat запускает игру и автоматически загружает последний
сейв. Просто запустите двойным кликом или создайте ярлык на
рабочем столе. Без ожидания в меню — сразу в геймплей.
## Удаление
Удалите файлы из BepInEx\plugins\:
SaveForce.dll, Run.dll, OstronautsOptimizer.dll
Для полного удаления BepInEx также удалите winhttp.dll,
doorstop_config.ini и папку BepInEx\.
## Настройка (опционально)
После первого запуска файлы конфигурации появятся в BepInEx\config\:
--- SaveForce (com.coreforgelabs.saveforce.cfg) ---
ParallelShips = true
Многопоточный парсинг кораблей при загрузке.
ReduceYields = true
Пакетная обработка yields для быстрой инициализации.
YieldBatchSize = 10
Количество элементов в пакете (больше = быстрее, но менее плавно).
ConditionCache = true
Кеширование объектов Condition для избежания повторного создания.
KillDuplicates = true
Автозакрытие дублирующихся экземпляров игры.
--- Optimizer (com.perf.ostranauts.optimizer.cfg) ---
HeapExpansionMB — размер расширения кучи (МБ)
0 = выключено
256 = умеренно (GC каждые ~25с)
512 = хорошо (GC каждые ~50с)
1024 = рекомендуемый (GC каждые ~100с)
FrameBudgetMs = 12
Бюджет фрейма для симуляции (мс).
MaxSimStepsPerFrame = 50
Макс шагов симуляции за фрейм.
MaxDeltaTime = 0.1
Ограничение deltaTime после фриза GC.
OptFirstOrDefault = true
Оптимизация поиска в списках.
SuppressInteractionLog = true
Кеширование отсутствующих взаимодействий.
## Как это работает
Устранение GC-фризов:
1. Heap Pre-Expansion: После загрузки сейва мод расширяет
Mono heap, создавая запас свободной памяти. GC запускается
только когда запас исчерпан — раз в 1-2 минуты вместо
каждых 5 секунд.
2. Sim Loop Optimization: Ограничивает нагрузку симуляции
на каждый фрейм, предотвращая рывки.
3. Allocation Reduction: Заменяет аллоцирующие паттерны
(LINQ FirstOrDefault -> прямой доступ, кеширование запросов).
Ускорение загрузки:
1. Параллельный парсинг: JSON-файлы кораблей парсятся на
фоновых потоках, пока основной поток занят другими задачами.
2. Кеширование шаблонов: Условия и правила кешируются с
безопасным deep-clone, исключая повторное создание объектов.
3. Пропуск визуала: Рендеринг лиц и визуализация оверлеев
пропускаются при загрузке (они не нужны до геймплея).
4. Пакетные yields: Yields корутин объединяются в пакеты
для уменьшения overhead переключения фреймов.
============================================================
@CoreForgeLabs (telegram/Discord)
https://boosty.to/coreforgelabs
============================================================
Поддержите разработку
Это одна из моих любимых игр, и я искренне хочу развивать наше небольшое сообщество:
Но без вашей поддержки - существует реальный риск, что развитие мода замедлится — основная работа
и повседневные задачи постепенно отнимают всё больше времени.
Ваша поддержка — это не просто финансовая помощь. Это мотивация продолжать работать
над проектом и уверенность, что мод кому-то действительно важен.
──────────────────────────────────────────────────────────────────────────────
Помимо модов, я занимаюсь разработкой ПО:
• Скрипты и утилиты для автоматизации
• Telegram / Discord боты
• Интеграции и парсинг данных
• Переводы игр
• И многое другое!
Пишите — отвечу всем :)
Реквизиты:
2200 7013 8955 0366 - Тбанк
https://boosty.to/coreforgelabs
Крипта:
BTC
bc1qjzw4nz6y0dl3pvy8v46j70yywsh4l78sg0eq3x
ETH|USDT|USDC erc20
0xc9B7c16ef301E6277BbEB28C9AfCEC7c107d244E