Чиним FPS после 0.8.3

Всем привет!
Сегодня в мои цепкие щупальца попалась тема FPS после обновления 0.8.3.
Примечание: если у вас FPS 60+ без просадок, то этот краткий КМБ можно дальше не читать.

Небольшое предисловие

Как известно, в этом обновлении не только закопали стюардессу выпилили поддержку DirectX 9,  но и добавили 64-разрядный клиент игры, причем он теперь запускается по умолчанию.

В лучших традициях, с первого раза нормально сделать не получилось, и FPS просел у многих, особенно в боях с присутствием крылатых эсминцев.

Наблюдая ~30 кадров в секунду с просадками до 18 на EVGA GTX 1060 c 6 GB DDR5 и заводским разгоном на разрешении FullHD, я охренел испытал сильный когнитивный диссонанс. А поскольку я имею опыт ковыряния конфигов ещё со времён первой Quake, то решил с этим что-то сделать. После того, как получилось (вернул себе 60FPS с редкими просадками до 40) — как и обещал, делюсь своими наработками с сообществом.

Дисклеймер: Всё описанное ниже я проверил лично, оно работает. Если у вас что-то не получилось или просто не заточены руки под ковыряние в настройках и конфигах, лучше покажите это знакомому сисадмину. Он поможет.

Внимание! Если у вас MacOS / OS X, смело пропускайте первые два подраздела и сразу переходите к редактированию настроек движка игры.

 

I. Используем оптимальный клиент игры

Зачем?

На данном этапе 64-разрядный клиент это эпик фейл плохо оптимизирован. Поэтому пользуемся 32-разрядным.

Как?

Официальная инструкция по запуску 32-разрядного клиента с использованием ярлыка и ключа —force-32 находится здесь.

Примечание: как оказалось, вынесение ярлыка на рабочий стол работает не у всех, поэтому лайфхак: делаем ярлык с нужными настройками прямо в папке, где установлен клиент игры, и запускаем клиент через этот ярлык из папки.

II. Повышаем приоритет исполняемого файла клиента игры

(Здесь приведён самый простой и 100% рабочий способ. Можно использовать специальные утилиты, но там есть нюансы с передачей опции —force-32, зависящие от конкретной утилиты и версии ОС) .

Зачем?

Чтобы клиент игры получил больше системных ресурсов — и в первую очередь ресурсов процессора.

Как?

Перед запуском клиента игры закрываем все неиспользуемые программы.

После запуска возвращаемся на рабочий стол с использованием сочетания клавиш Alt+Tab. Затем нажимаем Ctrl+Shift+Esc для запуска Диспетчера задач.

На вкладке Процессы находим WorldOfWarships32.exe, щёлкаем по названию исполняемого файла правой кнопкой  (если вы не меняли настройки манипулятора по умолчанию) и в отобразившемся контекстном меню выбираем Приоритет, затем Выше среднего (рекомендуется, если у вас встроенный звук и вы используете качество звука «Ultra») или Высокий.  Возвращаемся в клиент игры с использованием сочетания клавиш Alt+Tab.

III. Редактируем файл настроек графического движка игры

Зачем?
Если описанные выше действия не помогли или помогли незначительно — ну или вы хотите выжать из имеющегося железа всё до последней капли и готовы потратить кусок своего времени на эксперименты, приступим!

Как?

Файл engine_config.xml, содержащий необходимые нам настройки движка игры, может находиться:

  • если у вас не установлены модификации клиента (далее «моды»)  — в папке res внутри папки, куда установлен клиент игры.
    Пример: C:\Games\World_of_Warships\res\engine_config.xml
  • если моды установлены — в папке с файлами модов для текущей версии.
    Пример:  C:\Games\World_of_Warships\res_mods\0.8.3.1\engine_config.xml

Этот файл имеет достаточно простую структуру, и для его редактирования можно использовать старый добрый Блокнот.

Внимание! К сожалению, параметры настройки движка игры нигде не документированы, и в процессе общения с разработчиками мне не удалось получить точную информацию об их предназначении. Поэтому то, что работает и приносит пользу у меня, может не работать и приносить вред у вас, и наоборот.

Примечание: в приведенных далее примерах используются настройки секций <renderer> и <animation> по умолчанию. В файле на вашем компьютере они могут отличаться — например, после установки модов.

1.

<cacheEffects>false</cacheEffects> — меняем false на true. Судя по всему, это кэширование визуальных эффектов. Негативного влияния на звук/изображение не выявил, на реддите советуют устанавливать значение true.

2.

<tripleBuffering>true</tripleBuffering> — меняем на false, и если у вас в настройках клиента игры на вкладке ГРАФИКА установлен флажок  «Вертикальная синхронизация» — отключаем вертикальную синхронизацию.

3.

<textureStreamingMode>2</textureStreamingMode> — имеет 3  допустимых значения: 0,1,2. Я рекомендую выбирать либо 2 (текущее значение по умолчанию для 0.8.3), либо 0 (то, что мне рекомендовал один из разработчиков). У меня лучше работает со значением 0.

4.

<maxFrameRate>30</maxFrameRate> — если у вас нет этого параметра в секции <renderer>, его следует добавить.

Внимание! Рекомендуется устанавливать значение этого параметра кратным частоте обновления экрана (если это не игровой монитор, то обычно она равна 60 Гц) с шагом 0,5 . То есть, для частоты 60 Гц:

  • 30 (правильный выбор, с этого нужно начинать);
  • 60 (ну, попробуйте);
  • 90 (да ладно);
  • 120 (а зачем вам, собственно, вообще нужно это читать?).

 

5.

<streamCacheSizeKB>2048</streamCacheSizeKB> — судя по названию, это объём кэша для стриминга текстур. При установленном значении по умолчанию (2048) у меня наблюдались микролаги, после увеличения до 4096 они пропали. На реддите рекомендуют устанавливать значение этого параметра равным до 50% включительно от объёма установленной в системе оперативной памяти. Например, для 8 ГБ — 4096, для 16 ГБ — 8192 и так далее.

 

Пример содержимого интересующих нас секций файла engine_config.xml после редактирования (внесённые изменения значений по умолчанию выделены этим цветом):

<engine_config.xml>
<renderer>
<cacheEffects>true</cacheEffects>
<gammaCorrectionOutside>1.0</gammaCorrectionOutside>
<gammaCorrectionInside>1.0</gammaCorrectionInside>
<gammaCorrectionSpeed>0.2</gammaCorrectionSpeed>
<tripleBuffering>false</tripleBuffering>

<enableTextureStreaming>true</enableTextureStreaming>
<textureStreamingMode>0</textureStreamingMode>

<maxFrameRate>30</maxFrameRate>
</renderer>
<animation>
<streamCacheSizeKB>4096</streamCacheSizeKB>
</animation>

PS если неприоритетным токсичным хейтерам уважаемому сообществу зайдёт, могу сделать ещё и КМБ по настройкам графики в клиенте игры.

PPS если написанное выше помогло вернуть приемлемый FPS (хорошего в этом патче на некоторых конфигурациях можно просто не ждать) и обойтись без апгрейда  — мой ник в игре такой же, а подарки я люблю ;)

PPPS рекомендую также ознакомиться с полезными рекомендациями в официальном техническом дайджесте.

Автор публикации

не в сети 1 месяц

CTO_KPAKEHOB

Комментарии: 1727Публикации: 32Регистрация: 29-11-2018

Отправить ответ

28 Комментарий на "Чиним FPS после 0.8.3"

Войти с помощью: 
Сортировать по:   новые | старые | популярные
Kostya Local
Участник

В 2019 году 32 битный клиент, серьезно?
Неужели все так хуево до сих пор ?
Но ведь там «все работают всерьез» (С)

mixa77551
Участник

Я слышал что вижуал студия майкрософта все еще на 32 битах потому что не могут. Вот так, да.
Так что к ЛЕСТЕ можно не предъявлять.

Христофор Врунгель
Участник

Кстати, а кто в курсе. что там многопотоком? Танки и кораблики в него смогли или всё ещё нет?

mixa77551
Участник

Вроде как да. Разраб в танках говорил что сейчас все больше компов с 4 ядрами и они начинают это учитывать. Про корабли ничего не слышал, но игра задействует потока 2-4 точно.

Fading
Участник

30 фпс правильный выбор?

Destroyer Freak
Участник

я вот посмотрел тему, но не где не увидел как саму видео карту подтянуть на максимальную производительность.
Если на карте стоят настройки по умолчанию — они не дают максимального эффекта.
Когда-то я настроил видео карту на максимальную производительность+ чуть чуть поправил настройки в игре.. и все игралось на даже на слабой видеокарте…
Их личного опыта. набрал поиск на ютубе и посмотрел несколько обзоров. оставлял открытым панель управления картой и в порту+ в игре менял параметры, т.к перезагрузка системы не нужна, но при этом видно как менялось фпс и картинка.

inv_zxvf
Участник

Приоритетные утверждают, что новый порт Azur Lane жрёт меньше ресурсов, чем Океан.

Destroyer Freak
Участник

игре более ТРЕХ лет!!!!… вы о чем ???.. оптимизацию так и не завезли)))))))… Они, наверное, программу в фортране или бэйсике написали!))))))))
Я вообще удивлен тому, что народ до сих пор держится за это овцеводство!!!

inv_zxvf
Участник

Как я понимаю, основные портовые тормоза связаны с тем, что флеш и на каждый чих клиент дёргает сервер.
Непонятно, почему бы не заменить логику постоянного дёргания сервера на что-то подобное транзакциям по таймеру, чтобы действия игрока пачкой отправлялись на сервант раз в N секунд?
Ну а по поводу флеша, хрен его знает, в нём ли проблема, как в технологии. У тех же улиток в космическом шутане, ЕМНИП, тоже на флеше интерпейс, и никаких тормозов я там не наблюдал.

Destroyer Freak
Участник

у них(моллюсков) и в порту фпс выше чем в у этих…. и в игре !!!
пока не сделают как у конкурентов я даже попыток не буду делать обновлять клиет… 080 был крайним(последним)!

Ivashka
Участник

Да этот флеш — стандарт. У всех работает, только у рыбы тормозит.

Destroyer Freak
Участник

вот.. пусть тормозят дальше!))) а мне двигаться хочется с хорошей скоростью!
если не могут найти прямую связь между головой и руками минуя жоппу… то я им не помощник!

Dark Lighter
Участник

В танках тоже флеш и тормозов не видать.

Destroyer Freak
Участник

рукалицые рукаблудники забыли где-то запятую поставить а народ после этого танцы народов мира исполняет!))))))))))

Destroyer Freak
Участник

https://www.youtube.com/watch?v=W1d0QmqWvUM
почему-то возникают вот такие ассоциации))))

Максим Гарбарук
Участник

Пока, написанное в 3ем пункте, помогло мне только сделать клиент не запускаемым и убить мне 20 минут времени.

Jedi_Revan .
Участник

Попробовал — не помогло. Как и раньше, первые бои норм, а потом пинг подскакивает до 250-500 (иногда и 800), а FPS падает до нуля.

Destroyer Freak
Участник

скажу честно.. вот такие патчи и отталкиваю народ.
тем кто вырос на SH сейчас новую тему подкинули… и будет очередной спад давления у «рядового»

wpDiscuz
Авторизация
*
*
Войти с помощью: 
Регистрация
*
*
*
Войти с помощью: 
Перейти на страницу
Вверх