Total War: Shogun 2 получила ускорение на 50% благодаря мод-мастеру
Сообщество допиливает 15-летнюю стратегию: батальный FPS удвоился на карте кампании
Прошло пятнадцать лет, и вот сообщество Total War: Shogun 2 собрало чемодан оптимизаций. Модер Meisgoot312 выпустил s2fix — открытую мод, которая поднимает FPS в батальях примерно на 50%, а на карте кампании вообще творит чудеса.
Всё началось с Complete Edition, ремастера, вышедшего совсем недавно. Модер заметил, что издатели SEGA и Creative Assembly перелили старое вино в новый бутыль — rendering bottlenecks остались те же. Отлично, подумал он, значит, оптимизация пойдёт на обе версии.
Однопоточный кошмар
Вот в чём беда: Shogun 2 построена на средневековой архитектуре. Игра использует несколько ядер процессора, но вся работа с графикой — подготовка и отправка draw-call'ов на видеокарту — сидит на одном главном потоке. Результат? GPU гниёт на 40% загрузки, когда на экране тысячи самураев лупят друг друга.
Meisgoot312 взял и сделал вот что:
- Распараллелил draw-call submission через DirectX 11 deferred contexts
- Переделал render-list sorting (теперь не пилит зря)
- Добавил смарт-кэширование
- Оптимизировал размещение потоков CPU
- Включил modern flip-model для фреймпейсинга
Результат на бенчах: батальня скачет с 142 до 210 FPS. GPU загрузка поднялась с 40% до 70–80%. Это вот столько производительности тырила старая архитектура.
Карта кампании: из ада в рай
v0.2.3 пошла ещё дальше. Разработчик распилил ненужные пересчёты — faction relationships, appearance lookups тыкали в базу по сто раз подряд. После оптимизации idle-сцена карты кампании взлетела с 62.6 до 148 FPS. Это 136% прирост. На картонке.
Плюс расширили лимит VRAM с трёх до почти четырёх гигабайт — максимум, который вообще может усвоить движок игры.
Оговорка: тестил это сам разработчик на своём железе. На твоём CPU-limited батальн всё может быть иначе. Если видеокарта уже в потолке — мод тебе не поможет. Но для большинства 15-летних и не очень машин Shogun 2 жила в CPU-ограничениях.
Установка проще простого
Мод лежит на GitHub в двух вариантах: для 32-bit оригинала и 64-bit Complete Edition. Распаковал архив в папку игры — готово. Нужен DirectX 11. Тестировали в основном с NVIDIA, но и с AMD знакомыми модами работает.
Забавно вспомнить, что SEGA и Creative Assembly пару месяцев назад снимали Complete Edition с продажи из-за шквала критики. А тут сообщество вложило в старину больше оптимизаций, чем издатели в ремастер.
Ещё пример: недавно модеры похвалились Rome II CPU Performance Fix, где выжали 20% прирост среднего FPS и 33% по 0.1% lows. Creative Assembly пишет движки на потом, а сообщество их допиливает в real-time. Иногда с помощью AI-кодогенераторов.

Обсуждение