Company of Heroes 2

Company of Heroes 2

108 ratings
Повышение FPS, боремся с лагами
By DREDNOUT_571
Company Of heroes 2 - это игра по настоящему опередившая своё время. Она способна лагать не только на ПК времён своего выхода, но и на компьютерах будущего. Современные компьютеры, способны запускать современные ААА, ловят статоры в игре 12 года. Остро стоит проблема с падением фпс в боях 4х4. По этой теме мало информации. Все представленные решения я либо нашел методом научного тыка, либо взял из других гайдов.
2
2
2
   
Award
Favorite
Favorited
Unfavorite
средний fps и расход ресурсов
Сначала нужно собрать информацию, сколько и каких ресурсов потребляет система и игра.
Ставим MSI Afterburner, сайт: https://www.msi.com/Landing/afterburner/graphics-cards
В ее состав входит Riva tunner Statistic server. Это настраиваемая программа, которая выводит в виде оверлея поверх приложения информацию о ресурсах вашей системы(загруженность памяти, температура, частоты, и.т.д.)

Гайдов по настройке достаточно на youtobe. https://www.youtube.com/watch?v=kn1Qa56iSQ8

Бенчмарк от разработчиков

не имитирует боевую обстановку, а нужен тот который имитирует. Идем в режим зрителя. Находим бой 4х4 на самой лагучей карте, наблюдаем за боем и смотрим средний фпс.

Почему нельзя просто пойти с людьми в автоподбор и там фпс измерить? Потому что помимо статоров клиента будут ещё лаги сервера. В режиме просмотра реплей воспроизводится у вас на пк.
Настройка системы
Эти настройки повысят производительность на любой системе.

Настройки Nvidia:
Как у амд не знаю. У них должно быть всё то же самое, только называется по другому
1) Жмём Пуск, в поисковике находим панель управления Nvidia
2) Управление параметрами 3D->Программные настройки.
3) Находим СОН в выпадающем списке
4) Отключаем тройную буферизацию и вертикальную синхронизацию(синхроимпульс). Два этих параметра требуют мощную карту.

5) Находим параметр Анизатропная фильтрация. Ставим х16. Это очень важный параметр, без которого у нас в СОН графика будет выглядеть как кисель, что бы мы не крутили.

отключаем "полезности" от microsoft: - будет полезно всем
Заходим в шестеренку

Идем в раздел "Игры"
Гейм бар - выкл
Запись в фоновом режиме - ВЫКЛ
Игровой режим - вкл
Теперь идем в "Экран"
Применять прозрачность виндовс - выкл

Выставляем файл подкачки: - если у вас менее 16гб Если у вас меньше 16гб, нужно выставить подкачку, если 16+ пропускаем пункт.
СОН использует 10гб памяти, вин10-2гб, вин11 и того больше.
1) Win+R
2) Вводим SystemPropertiesAdvanced
3) Быстродействие->Параметры->Дополнительно->Виртуальная память->Изменить.
4) Выставляем файл подкачки на самый быстрый диск
Алгоритм определения таков: Минимальный размер должен быть в 2 раза больше чем объём ОЗУ, а максимальный в 2 раза больше чем минимальный.
4096 Mb оперативной памяти, - оптимальный размер файла подкачки от 8192-16384 Mb;
8 Гб оперативной памяти, - оптимальный размер файла подкачки от 16000-32000 Mb;
16 Гб оперативной памяти (и больше), - чаще всего, без файла подкачки, но некоторые приложения его требуют, поставим символический 8192-16384 Mb.

5) Жмём "задать" и перезагружаемся.

Чистка автозагрузки: - будет полезно всем, кто давно не менял ОС
1) Win+R
2) Вводим resmon (Там есть справка по использованию)
3) Ресмоном смотрим какие пользовательские приложения больше всего жрут.
4) Жмём на клве Win+r
5) В строчку вводим msconfig
6) Переходим в раздел "автозагрузка"

4) Снимаем галочки с всего что вам ИЗВЕСТНО, и не нужно при старте ОС и во время игры (НЕ СНИМИТЕ ЛИШНЕГО!)

Ниже, в этом разделе приведены настройки для совсем слабых пк до 16 года. Если у вас если пк старше 16года, не тратьте время.

Отключаем оверлеи Steam и Discord(если процессор меньше 4ГГц):
А как вы думали, они тоже жрут ресурсы.
1) В стиме Steam->Настройки->В игре, снимаем галку с "Оверлей стим в игре".
2) Дискорд-> Настройки пользователя->Игровой оверлей. Выключаем.
В идеале, если вы играете соло, то лучше будет выйти из дискорда. В простое он хавает ~5%, но при минимальном голосовом обмене начинает грузить цп от 10 до 20%. Я говорю не про свой дряхлый комп, а про нормальные конфигурации(гуглите эту тему). Скорей всего, чтобы минимизировать нагрузку на сервера, дискорд использует какой то упоротый кодек, чтобы сжимать передаваемый голос до минимума. Если вы играете с другом, попросите его поменьше ипздеть)) Как вариант, можно запустить диск на телефоне, или сменить переговорник на встроенный переговорник steam.

Настройки электропитания: - если ноутбук
1) Жмём на клве Win+r
2) В строчку вводим powercfg.cpl
3) В открывшемся окне выставляем "сбалансированный", или "макс. производительность"

Антивирус/защитник
1) Если стоит антивирус, озаботьтесь тем, чтобы он обновлялся по расписанию, когда мы НЕ играем, но не отключайте полностью.

Телеметрия Microsoft ОС:
Последние операционки Майкрософт стали грешить кучей ненужных служб типа кортаны, отправкой чего то куда то, и.т.д. Отключите телеметрию и лишние службы в вашей ОС, и высвободите немного ЦП. В интернете полно гайдов, перепечатывать их сюда, и приводить полный порядок действий, список служб не буду. НЕ ОТКЛЮЧИТЕ ЛИШНЕГО.
Манипуляции с клиентом COH
Параметры запуска COH:
1) Идём в Steam Company Of Heroes 2-> Свойства-> Общие



Прописываем параметры запуска как на рисунке:
-nomovies - нет вступительных роликов
-novsync - без вертикальной синхронизации с частотой монитора карта будет отрисовывать все возможные кадры. Если у вас проблемы с производительностью ставьте этот параметр.
-refresh 60 - ограничить лимит кадров/сек
-notriplebuffer - увеличивает плавность картинки, но и расход памяти. Ставьте если 4-6гб видеопамяти
-window -fullwindow -lockmouse - полноэкранный режим в окне.

Отключаем деморекорд(если у вас система стоит не на nvme 3g/sec):
Было замечено, что при деморекорде идет обращение к диску.
Заходим C:\Users\Admin1\Documents\My Games\Company of Heroes 2
Папка playback правой кнопкой-> свойства-> безопасность -> изменить

Запрещаем запись в папку поставив галочку как на скрине. Теперь COH не сможет записывать реплеи т.к. не имеет доступа к папке.

Как делаю я: Т.к. у меня компани стоит на nvme а система на hdd, я переадресовываю расположение playback и logfiles в RAMдиск который у меня создан через cmd командой mklink. Вы можете для этих нужд создать отдельный рамдиск на 50-100мб. Как это делать не буду расписывать, инфы по cmd достаточно.

Важная мелочь
В настройках стоит отключить не исторические раскраски. Это должно уменьшить расход ОЗУ и время загрузки боя. Также, все моды на рескин дополнительно висят в памяти. Если у вас 8гб и меньше лучше будет от них отписаться.
Настройка конфига

Разработчики сделали меню, где объединили несколько настроек в одну. Это не дает настраивать нужные настройки отдельно от других, будем делать это через конфиг.

Идём в : C:\Users\Admin1\Documents\My Games\Company of Heroes 2
Находим файл configuration_system.lua
Открываем блокнотом, видим около 50 параметров состоящих из 3х строчек каждый:

setting = "window", - сам параметр
value = 0, - его переменная, с помощью которой делается регулировка.
valueType = 1, - не трогаем

Вот тут выкладываю свой конфиг https://pastebin.com/9cDKWRix
Можете выставить в него свое разрешение, и попробовать с ним запуститься.
Если что то не так, можете поробовать настроить свой на основе моего.
Теперь по самим параметрам. Будут идти по порядку, от более важных к менее важным:

effectsdensity(0-3) - плотность эффектов. При изменении визуально ничего не меняется, но КРИТИЧЕСКИ влияет на fps. Особенно при победном ударе.

effectsfidelity(0-3) - Разрешение текстуры эффекта и длительность самого эффекта (огня, дыма, и.т.д). КРИТИЧЕСКИ влияет на производительность. У меня 0.
0 - минимум 3 - максимум

shadows(0-3) Тени.

texturedetail (Внимание: 3- минимум 0 - максимум, тут всё наоборот) - качество всех текстур мира. Самая важная настройка влияющая на картинку, и расход памяти. Если лагов нет, поднимайте качество.
0 - у вас топовая конфигурация пк
1 - у вас 32 гб озу 4-8 видеопамяти
2 - у вас 16гб озу и 2-4 видеопамяти
3 - все остальные

modeldetail (0-511) - Очень важная настройка. Радиус окружности(центром которой является камера игрока), за пределами которой перестают отрисовываться объекты мира(модели, тени). Если Alt повернуть камеру набок, и полететь в перёд, увидите как на параметре 0 появляются и исчезают объекты. Можно смело ставить 0, т.к. при нормальном положении камеры это никак не влияет, но очень сильно разгружает ГП и ЦП. Вы можете заметить разницу, только если используете мод на отдаление камеры.

modelanimationdetail (Внимание: 3- минимум 0 - максимум, тут всё наоборот) - сглаживание анимаций. С минимальным значением 3, при близком рассмотрении анимации могут быть с едва заметной механичностью. Теоретически это может разгрузить систему.

Почти не влияющие в спойлере:
raindetail - Плотность дождя.

ambocclquality - качества оклюжена окружения. Оклюжен это затенение в мелких деталях и складках. На картинку влияет мало, влияет на видеокарту.

shrubsdetail - детализация деревьев и кустарников(возможно кол-во веток на деревьях, или что то такое) Разницы не заметил. Ставьте 0

shaderquality - карты рельефа и доп источники света(но не влияет на тени от объектов, а скорей на оклюжен). Без них всё выглядит плоским, а с ними поверхности выглядят рельефными и шероховатыми. Может вызывать падение производительности. Я ставлю 0.

terraindetail(0-3) - Уровень детализации местности. Количество травы, кустов, мелких объектов и разрешение текстуры земли. Эта настройка привязана к texturedetail. terraindetail всегда должен стоять 3. Используйте texturedetail чтобы изменять качество текстур.

antialiasing(0-3) - Сглаживание

snowdetail(0-3) - качество деформации снега под ногами юнитов.

postprocessing(0-1) - глубина резкости, блюр, цветокор.

graphicsquality(0-5) - эта настройка меняет пачку настроек, оставляем как есть.


Закрываем, сохраняем, ставим на файл "только чтение", загружаем повтор, и тестируем.
===========================================================================
Если не поставить "только чтение" или попытаться сменить настройки через игру, они СЛЕТЯТ. Таким образом, чтобы редактировать конфиг, нужно каждый раз ставить и снимать этот чекбокс.
===========================================================================
Маскируем лаги ограничением FPS
Если после всех манипуляций мы наблюдаем картину, что в начале катки у нас 60 кадров, а в середине и конце 50 с просадкой до 40, делаем следующее:
Идем в параметры запуска в steam, и убираем параметр -refresh 60
Идём опять в панель nvidia.
Там находим параметр:
Режим низкой задержки - ставим макс
Макс частота кадров - ставим 50

Не знаю кто как, но я начинаю видеть как неразрывную картинку изображение с частотой в 50 кадров. По дефолту у нас стоит 60, перепад с 60 до 45 вы сразу видите. Если поставить 50, глазу сложнее заметить разницу в перепадах с 60 до 45 кадров. Картинка просто будет получаться чуть плавнее, но есстессна в более низком фреймрейте. Если вы на 50 начинаете видеть разрывы между кадрами, поставьте 55.
Подключаем VULCAN и многопоточность
В компани всего один отрисовщик: дх11. В последнее время набрал популярность вулкан - отрисовщик от амд. Чтобы включить в игре вулкан, разработчики игры должны прописать поддержку, и дать такую возможность в меню игры, чего у нас в компани конечно нет.

На Гитхабе есть фиксы, которые добавляет поддержку вулкана вместо дх, о котором я недавно узнал. Данный метод поможет значительно повысить фпс, уменьшить рывки и статоры на картах с поддержкой vulcan. Вы можете одновременно подключить либо ReShade либо Vulcan потому что оба способа используют файл d3dx11!


график показывает что после статора возврат к нормальному фпс происходит быстрее

Как установить вулкан?
1) идем по ссылке на гитхаб: https://gitlab.com/Ph42oN/dxvk-gplasync/-/blob/main/releases/dxvk-gplasync-v2.7-1.tar.gz?ref_type=heads
2) качаем файл dxvk-gplasync-v2.7-1.tar.gz
3) Т.к. это архив, извлекаем его винраром через "открыть с помощью".
4) в папке x64 нам нужно 2 файла d3d11.dll и dxgi.dll
5) перемещаем эти 2 файла в папку с компани ...\steamapps\common\Company of Heroes 2

6) В папке с COH2 создаем файл dxvk.conf Чтобы сделать расширение файла CONF вместо TXT, включите отображение формата файлов:


Пишем в него строчки:
dxvk.enableAsync = true
dxvk.asyncPresent = true
dxvk.numCompilerThreads=0


7) Заходм Steam->Настройки->Загрузки потоковая оптимизация шейдеров(или кеш шейдеров) для Vulcan - вкл

8) После входа в игру видим что отрисовщик стал вулкан:

9) заходим меню->параметры->графика и прогоняем тест:

10) Выходим из игры, и смотрим в файл RelicCoH2_dxgi.log, который должен появиться. Если там появились строчки

Значит всё сделано правильно. Если что то не получается, более подробная информация по настройке этого мода ТУТ: https://github.com/doitsujin/dxvk

9) Удаление происходит в обратном порядке
Лаги на стороне клиента
У СОН всего 1 сервер eu, и он конечно же лагает. Но помимо лагов сервера могут быть лаги на стороне сети клиента. Если в матче всё на долго зависает, а потом сильно ускоряется на секунду, и частые "выкидыши" из матча нужно проделать следующие действия:
1) проверить потерю пакетов:
Жмем Win+R вводим cmd
В консоль вводим ping -n 100 8.8.8.8
ждем 10 минут, и нажимаем Ctrl+C - появится статистика потери пакетов. Если он 1% или меньше, тогда всё в порядке.
2) потрогать роутер. Если он очень горячий, и у вас кто то фоном всё время смотрит 4к видео, роутер нужно заменить на более пропускной.
3) Если пк подключен к роутеру по Wi-Fi, подключиться через кабель, это решит половину проблем.
4) В прошивке роутера настроить плановую перезагрузку в 4 часа утра раз в 3 дня.
Проблемы с серверами
Стоит ознакомиться вот с этой статьей целиком:
https://help.relic.com/hc/en-us/articles/36080656057363-CoH-2-Network-Connection-Troubleshooting

Я лично наблюдал 2 проблемы:
Первая, это когда в главном меню не получается подключиться к серверу с профилем, и загрузить прогресс, награды, кол-во манет, и.т.д.
Нужно пройти по ссылке на реликовский сервис проверки доступности серверов: https://coh2-lobby.reliclink.com/gam...on/checkstatus
Если вас перебросило на страницу где написано "OK" значит всё ок.
Если страница недоступна, значит значит либо релики остановили сервер, либо надо открыть на роутере TCP port 443
Проверить доступность любым сервисом проверки доступности портов.

Вторая, это когда заходишь в лобби, и вверху в списке серверов указано например EU -1 вместо пинга.


С помощью сервисов проверить доступность к этому адресу 54.209.64.161 Если он не доступен ниоткуда, значит релики остановили сервера, либо ваш провайдер попал под блокировку CloudFlare на, котором находятся сервера.
Также это может быть из за закрытых портов. Откройте на роутере диапазон портов TCP Ports: 27015 – 27030
Проверить доступность этих портов любым сервисом проверки доступности портов.
Улучшеная графика на картах RTX
Для тех у кого без всяких конфигов и фиксов fps 100+, можно добавить постпроцессинг средствами ReShade. Постобработка - это любые изменения изображения после его рендеринга. ReShade - это надстройка на DX11.
1) https://reshade.me/
2) Выбираем Download ReShade х.х.х, ту которая без аддонов.

3) Сдедуем инструкциям установщика, если он спросит где компани - показываем, если спросит какой DX, указываем 10+, никакие галочки не ставим и не снимаем.
4) В игре нажимаем Home
5) Открывается панель, в ней выбираем AMD FidelityFX, Luma Sharpen, HDR, FXAA(если выбираем FXAA через ReShade, лучше отключить игровое сглаживание через конфиг)

6) Удаление происходит в обратном порядке. Запускаем установщик ReShade, выбираем папку компани, и выбираем пункт "Удалить".

ВЫ ДЕЛАЕТЕ ВСЁ ЭТО НА СВОЙ СТРАХ И РИСК!
Заключение
Если найду какие то новые решения - опишу. Чтобы не пропустить, добавляйте в избранное. Не забудьте оценить для продвижения в топ. Вы совершенно ничего не потеряли читая этот гайд, а я очень старался. Награда гайда мотивирует меня писать новые гайды и улучшать имеющиеся.

Отписывайтесь о использовании. Потом буду корректировать и дополнять.
Добавляйтесь в стиме, можем вместе покатать.
57 Comments
DREDNOUT_571  [author] 5 Sep @ 12:43am 
У кого много видеопамяти уберите параметр -notriplebuffer в параметрах запуска стим, если стоит. Должно увеличить плавность. Обновил руководство.
DREDNOUT_571  [author] 2 Sep @ 11:03pm 
Обновился пункт относительно конфига. Если используете мой готовый конфиг, перекачайте его. Если сами настраивали, поставьте effectsfidelity 0 и shaderquality 0,
Я ошибся с описанием этих пунктов, исправил. 2 эти настройки сильно кладут кадры.
Обновил пункт относительно вулкана. Кто использует, проделайте весь пункт про вулкан по новой, я добавил мод от другого разработчика с другой версией.
ANTA 23 Jun @ 12:05pm 
Nvidia 2080 super , i7 8700k 64гб памяти - играю 4к стабильно 70-80 фпс 4 на 4 ультра настройки с низким сглаживанием
DREDNOUT_571  [author] 21 May @ 9:38am 
Если у кого то были проблемы с сетью, проверьте, кажется релики переместили сервера
STROGONYASHA^ 11 Jan @ 7:21am 
:steamthumbsup:
owl 5 Feb, 2024 @ 2:15pm 
не знаю почему так. Но у меня всё норм. Все на максималках стоит. amd3 3300x , ryzen 2070super, RAM ddr4 16gb и установлено всё на ssd ( комп у меня старенький но хватает мне)
mr.Brookerr 29 Nov, 2023 @ 4:09pm 
ребят нихрена не понимаю на старенькой 1050 было на низких 60 фпс сменил железо 4050 і7-11поколения и в игре регулярные просидания фпс висит 120фпс спустя парусекунд просадка до 20-15кадров и так постоянно уже и переустанавливал и все моды убирал нихрена при том что в киберпанке на ультрах стабильные 70+ кадров без просадок...
Paladin 9 Jun, 2023 @ 4:49am 
DREDNOUT_571,да,кстати,на 32-бит игра шла лучше .
Может есть какое-то решение ...?
DREDNOUT_571  [author] 9 Jun, 2023 @ 3:57am 
У всех так, даже на очень мощных пк. Где то слышал что из за смены битности разработчиками с 32 на 64, до этого такой проблемы не было. Неизвестно что с этим делать.
Paladin 8 Jun, 2023 @ 6:35pm 
Нужна помощь в оптимизации игры.
По началу 90-100 кадров,спустя 15 минут игры число кадров снижается до 35-45.Как исправить?