-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathREADME_RU.txt
More file actions
161 lines (118 loc) · 7.5 KB
/
README_RU.txt
File metadata and controls
161 lines (118 loc) · 7.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
============================================================
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