Чиним 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 рекомендую также ознакомиться с полезными рекомендациями в официальном техническом дайджесте.
Отправить ответ
32 Комментарий на "Чиним FPS после 0.8.3"
Вы должны быть зарегистрированы чтобы оставить комментарий
Вы должны быть зарегистрированы чтобы оставить комментарий
В 2019 году 32 битный клиент, серьезно?
Неужели все так хуево до сих пор ?
Но ведь там «все работают всерьез» (С)
Увы, но с первого раза в 64-разрядный клиент для всех конфигураций железа и софта Леста не смогла.
Я сомневаюсь, что за месяц это смогла бы любая другая компания — тут как в анекдоте про 9 мам, которые всё равно не смогут выносить ребёнка за один месяц.
Вопрос не в ресурсах, а в методологии и плане тестирования нового функционала и так далее.
Кто работает в ИТ — меня поймёт.
Почему бы не откатить патч, если уж он такой кривой? Хотя, если на игорьков пох, смысл откатывать. Пусть страдают.
Я слышал что вижуал студия майкрософта все еще на 32 битах потому что не могут. Вот так, да.
Так что к ЛЕСТЕ можно не предъявлять.
Кстати, а кто в курсе. что там многопотоком? Танки и кораблики в него смогли или всё ещё нет?
В целом смогли, но на первое по счёту ядро (не важно, логическое или физическое) всё равно приоритет — проверено мониторингом во время игровой сессии. Именно поэтому я не включил в этот текст рекомендацию по отключению ядра/ядер на конфигурациях с многоядерным ЦП — выигрыша это не даёт.
Вроде как да. Разраб в танках говорил что сейчас все больше компов с 4 ядрами и они начинают это учитывать. Про корабли ничего не слышал, но игра задействует потока 2-4 точно.
30 фпс правильный выбор?
В качестве отправной точки для первой итерации экспериментов с конфигом движка — да.
PPPS рекомендую также ознакомиться с полезными рекомендациями в официальном техническом дайджесте.
Редакторам: пожалуйста, добавьте в конец основного текста.
я вот посмотрел тему, но не где не увидел как саму видео карту подтянуть на максимальную производительность.
Если на карте стоят настройки по умолчанию — они не дают максимального эффекта.
Когда-то я настроил видео карту на максимальную производительность+ чуть чуть поправил настройки в игре.. и все игралось на даже на слабой видеокарте…
Их личного опыта. набрал поиск на ютубе и посмотрел несколько обзоров. оставлял открытым панель управления картой и в порту+ в игре менял параметры, т.к перезагрузка системы не нужна, но при этом видно как менялось фпс и картинка.
Поскольку набор доступных для настройки параметров, их названия и доступные значения существенно отличаются для решений от AMD/Intel/Nvidia — чтобы написать нормальный гайд, нужно иметь доступ ко всем трём.
У меня такой возможности нет, плюс в интернете полным-полно статей и видео на эту тему. Поэтому смысла что-то ещё писать об этом я для себя не вижу.
так я не про то..
я про то, чтобы люди (некоторые не в курсе) ещё глянули бы видюхи, подкачки, оптимизировали комп…что есть реально хорошие советы.)
прежде чем бороться со злом, нужно в доме порядок навести.
Реально «мусора» в компе зашкаливает!
Думаю теперь я правильно высказался!)
Во и я думаю, то-ли купить проц-мамку-память-SSD свежих поколений с последующей чистой установкой операционки..
То-ли просто Вирус Касперского нафиг снести.
Что так, что так и мусора меньше, и прирост будет.
Приоритетные утверждают, что новый порт Azur Lane жрёт меньше ресурсов, чем Океан.
игре более ТРЕХ лет!!!!… вы о чем ???.. оптимизацию так и не завезли)))))))… Они, наверное, программу в фортране или бэйсике написали!))))))))
Я вообще удивлен тому, что народ до сих пор держится за это овцеводство!!!
Как я понимаю, основные портовые тормоза связаны с тем, что флеш и на каждый чих клиент дёргает сервер.
Непонятно, почему бы не заменить логику постоянного дёргания сервера на что-то подобное транзакциям по таймеру, чтобы действия игрока пачкой отправлялись на сервант раз в N секунд?
Ну а по поводу флеша, хрен его знает, в нём ли проблема, как в технологии. У тех же улиток в космическом шутане, ЕМНИП, тоже на флеше интерпейс, и никаких тормозов я там не наблюдал.
у них(моллюсков) и в порту фпс выше чем в у этих…. и в игре !!!
пока не сделают как у конкурентов я даже попыток не буду делать обновлять клиет… 080 был крайним(последним)!
Да этот флеш — стандарт. У всех работает, только у рыбы тормозит.
вот.. пусть тормозят дальше!))) а мне двигаться хочется с хорошей скоростью!
если не могут найти прямую связь между головой и руками минуя жоппу… то я им не помощник!
В танках тоже флеш и тормозов не видать.
рукалицые рукаблудники забыли где-то запятую поставить а народ после этого танцы народов мира исполняет!))))))))))
https://www.youtube.com/watch?v=W1d0QmqWvUM
почему-то возникают вот такие ассоциации))))
Пока, написанное в 3ем пункте, помогло мне только сделать клиент не запускаемым и убить мне 20 минут времени.
Ну, там же не зря есть пункт «Внимание» :)
PS я в общей сложности потратил около четырех часов на эксперименты и около полутора на написание этого материала.
Попробовал — не помогло. Как и раньше, первые бои норм, а потом пинг подскакивает до 250-500 (иногда и 800), а FPS падает до нуля.
скажу честно.. вот такие патчи и отталкиваю народ.
тем кто вырос на SH сейчас новую тему подкинули… и будет очередной спад давления у «рядового»
gay masturbation live chat https://gaychatspots.com/
free chat now gay https://gayphillychat.com/
asain gay chat phone lines https://free-gay-sex-chat.com/
gay male cam chat https://gayinteracialchat.com/