Path of Exile 2

Path of Exile 2

Not enough ratings
Оптимизация игры на "старых" процессорах
By Mark Dyson
Это руководство предназначено для оптимизации работы игры на более старых процессорах, на которых возникают зависания и потеря фпс.

Не забывайте про награды и оценку Руководства, для его продвижения и помощи большему количеству игроков.
2
   
Award
Favorite
Favorited
Unfavorite
Общая информация
Короткое объяснение: похоже, что движок POE плохо справляется с обработкой состояний простоя ЦП в многопоточном режиме на многоядерных процессорах в определённых конфигурациях/процессорах. Я не буду вдаваться в технические подробности, но вкратце объясню: ваш процессор активно переводит ядра ЦП в так называемые состояния C, также называемые спящими режимами, которые, по сути, представляют собой пониженную тактовую частоту ядер для экономии энергии/тепла/эффективности. Таким образом, для моего процессора i7 4790k с тактовой частотой 4,4 ГГц активное состояние C0 означает, что ядро работает на частоте 4,4 ГГц, а спящее состояние C7 показывает, что ядро работает только на частоте около 0,4 МГц. При оптимальных условиях переходы между этими состояниями C происходят плавно и не вызывают зависаний в игре, но в случае с POE, похоже, это происходит плохо. Короче говоря, зависания — это, по сути, нестабильные переходы вашего процессора между состояниями C на ваших ядрах, вероятно, из-за плохой оптимизации движка со стороны GGG.

В любом случае, мы собираемся настроить новый план электропитания Windows специально для POE, который полностью исключит состояния C и будет поддерживать стабильное состояние процессора на протяжении всего времени игры.

Прежде чем вы начнёте, обратите внимание, что это исправление поможет тем, кто использует многопоточность в настройках POE и у кого многоядерный процессор. Если вы не используете многопоточность и/или у вас только одно ядро, это, скорее всего, вам не поможет, однако я не тестировал это, так как в наши дни большинство людей используют многоядерные процессоры.
Создание плана электропитания
Скачайте скрипт Powershell, щёлкните правой кнопкой мыши -> Запустить с помощью Powershell. Запустите POE и посмотрите, помогло ли это. Если нет, вы можете просто отключить новый план электропитания в разделе «Электропитание» в Windows и вернуться к обычному плану.

Скрипт Powershell (удалите пробелы или скачайте по ссылке из источника):
https://drive .google.com/u/0/uc?id=1tvb-kp7q2t_LQyLVyE9eAM3OswyETC3V&export
=download

Если план электропитания по каким то причинам не создается с помощью скрипта, используйте "Ручной метод":

Ручной метод:

Перейдите в раздел «Электропитание» в Windows -> Создайте план электропитания -> Выберите «Высокая производительность» и назовите свой новый план «POE» -> Нажмите «Далее» -> Нажмите «Создать».
Откройте командную строку (cmd) в Windows от имени администратора. После открытия введите:
powercfg /list
Вы увидите список идентификаторов планов электропитания, включая только что созданный план POE. Выберите этот идентификатор и скопируйте его (выделите и нажмите Enter, чтобы скопировать). После копирования введите следующие три команды (**вставьте только что скопированный идентификатор вместо YOUR_COPIED_GUID)**

powercfg /setacvalueindex YOUR_COPIED_GUID SUB_PROCESSOR IDLEDISABLE 1
powercfg /setdcvalueindex YOUR_COPIED_GUID SUB_PROCESSOR IDLEDISABLE 1
powercfg /setactive YOUR_COPIED_GUID

Как только вы активируете эту новую схему питания, вы заметите, что вентиляторы вашего процессора начали усиленно работать. Это связано с тем, что при активном режиме работы этого плана в том виде, в каком он есть сейчас, процессор постоянно работает на 100% мощности, без понижения скорости или состояний C. Загрузите Path of Exile и проверьте графики производительности. Если это сработало, после загрузки шейдеров все должно стать гладким, как масло.

Если это сработало и вы избавились от зависаний, в зависимости от вашей системы охлаждения вам следует оценить, комфортно ли вам играть при 100% загрузке процессора или температура процессора слишком высокая, а вентилятор слишком шумный. Если температура и шум сейчас в норме при 100% загрузке, вы можете играть в таком режиме, так как это обеспечит вам максимальное количество кадров в секунду в игре. Если слишком шумно или температура слишком высока, есть решение, которое все равно устранит помехи при снижении температуры в соответствии с вашими предпочтениями:
снова перейдите к Параметрам питания и рядом с планом питания POE нажмите Изменить настройки плана -> Изменить дополнительные настройки питания. Прокрутите вниз и разверните раздел Управления питанием процессора. Уменьшите оба значения минимального состояния процессора и максимального состояния процессора со 100% до 95% и проверьте температуру, если она вам нравится. Лично я выбрал мощность 94%, так как это обеспечило мне наиболее оптимальный баланс между уровнем шума/температурой и производительностью. Я не рекомендую использовать мощность ниже 90%, так как это снизит общую производительность вашего процессора во время игры, однако это зависит от процессора. Некоторые более мощные процессоры будут нормально работать даже при более низкой производительности для POE. Не забудьте также проверить систему охлаждения, чтобы вентиляторы не были забиты и т. д. Это зависит от конфигурации вашего ПК, поэтому просто переключайтесь между POE и изменяйте лимит мощности, пока не почувствуете себя комфортно.

Итак, мы создали новый план электропитания для POE, и, надеюсь, он поможет вам решить проблему с зависаниями, которая возникла в игре.

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


Автоматизация фикса #1
Если вы хотите автоматизировать смену плана электропитания, вот как это можно сделать. Как мы уже узнали, вы можете активировать планы электропитания в меню «Электропитание» или с помощью команды powercfg, как мы делали ранее:
powercfg /setactive YOUR_COPIED_GUID
Если вам лень, вы можете просто создать на рабочем столе два .bat-файла с этой командой — один для GUID плана электропитания POE, а другой для GUID вашего стандартного плана электропитания, который вы обычно используете на своём компьютере.
Автоматизация фикса #2
Мы сделаем всё возможное и создадим два действия в планировщике задач Windows, чтобы автоматически переключаться на план электропитания POE при запуске игры, а затем возвращаться к стандартному плану при выходе из игры:

1. Нажмите «Пуск» и введите «Локальная политика безопасности» или «secpol.msc» в поле поиска Windows

2. Перейдите к Локальным политикам / Политике аудита

3. Дважды нажмите «Аудит отслеживания процессов» и включите «Успех». Закройте приложение.

4. Откройте Планировщик задач Windows

5. С правой стороны нажмите Создать задачу.

6. На вкладке «Общие» присвойте задаче имя, например «POEStart», и установите флажки «Выполнить с наивысшими привилегиями» и «Выполнить независимо от того, вошёл пользователь в систему или нет (при запросе пароля пользователя введите его)».

7. Перейдите в раздел «Триггеры» -> «Создать». В раскрывающемся меню «Начать задачу» выберите «При событии», затем установите флажок «Пользовательский» и нажмите «Новый фильтр событий». Перейдите на вкладку «XML» и нажмите «Изменить запрос вручную» -> «Да». Вставьте следующий код в поле (НЕ ЗАБУДЬТЕ ИЗМЕНИТЬ ПУТЬ К ВАШЕМУ PathOfExile.exe в приведенном ниже коде в Data='D:\Steam\steamapps\common\Path of Exile\PathOfExileSteam.exe' строке):

<QueryList>
<Query Id="0" Path="Security">
<Select Path="Security">*[System[Provider[@Name='Microsoft-Windows-Security-Auditing' or @Name='micro'] and Task = 13312 and (band(Keywords,9007199254740992)) and (EventID=4688)]] and *[EventData[Data[@Name='NewProcessName'] and (Data='D:\Steam\steamapps\common\Path of Exile\PathOfExileSteam.exe')]]</Select>
</Query>
</QueryList>

8. Нажмите «ОК» -> «ОК». Теперь перейдите на вкладку «Действия» -> «Создать...». В строке «Программа/скрипт» скопируйте следующее:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
В строке «Добавить аргументы» скопируйте это (снова замените YOUR_COPIED_GUID на GUID вашего плана электропитания POE):
-Command "powercfg /setactive YOUR_COPIED_GUID"
Нажмите «ОК» — «ОК». Теперь ваша задача должна быть настроена, и план электропитания POE будет автоматически активироваться при запуске POE. Обратите внимание, что если вы измените расположение файла POE.exe, эта задача перестанет работать, и вам придется изменить путь в приведенном выше блоке кода, чтобы она снова заработала.

Мы собираемся повторить описанный выше процесс, чтобы создать другую задачу для активации вашей стандартной схемы питания, которую вы обычно используете на своем компьютере при завершении работы Path of Exile. В моем случае это была схема питания Windows High Performance по умолчанию.

1. Создайте ещё одно новое задание планировщика задач и повторяйте описанные выше шаги, пока не дойдёте до шага 7. На этот раз блок кода XML будет другим (СНОВА НЕ ЗАБУДЬТЕ ИЗМЕНИТЬ ПУТЬ К ВАШЕМУ PathOfExile.exe в приведённом ниже коде в Data='D:\Steam\steamapps\common\Path of Exile\PathOfExileSteam.exe' строке):

<QueryList>
<Query Id="0" Path="Security">
<Select Path="Security">*[System[Provider[@Name='Microsoft-Windows-Security-Auditing' or @Name='micro'] and Task = 13313 and (EventID=4689)]] and *[EventData[Data[@Name='ProcessName'] and (Data='D:\Steam\steamapps\common\Path of Exile\PathOfExileSteam.exe')]] and *[EventData[Data[@Name='Status'] and (Data='0x0')]]</Select>
</Query>
</QueryList>

2. Повторите шаг 8, описанный выше, но на этот раз вам нужно использовать GUID плана электропитания, соответствующий обычному плану, который вы ежедневно используете на своём компьютере (в моём случае это был «Высокая производительность») — именно он будет активирован после выхода из Path of Exile. Опять же, вы можете найти GUID плана электропитания, как мы делали ранее, — в командной строке с помощью:
powercfg /list
В этом случае часть Программы / Скрипта остается той же:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
Но теперь строка «Добавить аргументы» будет другой (снова замените GUID_OF_STANDARD_PLAN на GUID обычного плана электропитания, который вы используете на своём компьютере, например «Высокая производительность»):
-Command "powercfg /setactive GUID_OF_STANDARD_PLAN"
После создания этого действия я рекомендую создать ещё один триггер для этой задачи, нажав «Триггеры» -> «Создать...» и выбрав «При запуске системы». Это активирует ваш стандартный план электропитания при запуске системы на случай, если вы забудете или ваш компьютер выключится.
Источник.
23 Comments
KraSFleX Feb 4 @ 9:33am 
Здравствуйте. Схему создал, настроил, цп нагружается на 99%, но фпс не прибавилось от слова совсем. Есть ли что-то, что можно дополнительно сделать?
paintdrip Jan 14 @ 9:30am 
кто то играет на зеоне? у меня 2678v3 и игра прям иногда задыхается
Coffee Lake Jan 12 @ 3:00pm 
не имеет смысла если проц изначально говно и всегда в 100% загружен, то можете даже не пробовать, на зеоне тоже
Зависает намертво не изза мода а изза проблем с оптимизом. У меня такое тоже бывало, просто перезапускал клиент. В любом случае, лучше зависнет пусть ПоЕ чем весь ПК и потом бахаешь по ресету, имхо.
Т☠ММИ ТУНЕЦ Jan 12 @ 1:51am 
https://www.nexusmods.com/pathofexile2/mods/9?tab=description
У меня эт этого мода вообще зависает сразу при входе в игру намертво... проц Рязань 5 5600X
ETK Jan 10 @ 11:56am 
r5 5600/ 4060ti, это единственное что реально помогло. Спасибо за адаптацию на ру.
Parasitics Jan 9 @ 12:49am 
Глупые манчкины не понимают что нагрузка 100% на проц - это не фактическая цифра. Для балбесов которые попытаются сжечь свой проц нагрузкой, производитель лочит как минимум 10% проца, по этому работа оверлоке при нормальном охлаждении может все 365 дней в году без остановки. В компе нет движимых деталей которые приходят в непригодность из за нагрузки, только перегрев.
Единственное, что хоть как то помогло удержать систему от полного висяка - https://www.nexusmods.com/pathofexile2/mods/9?tab=description

7800X3D, 32GB RAM, 3060, энергосберегайки в биосе отключены, проц держит 4.6 стабильно.
Bill Baclushi Jan 8 @ 7:28pm 
Ни в коем случае не выключайте состояние простоя\с стэйты особенно: Если вы давно не меняли пасту\обслуживали корпус\боксовый(дешевый\плохой) кулер\плохопродуваемый корпус или дешевая мать - словите перегрев, в худшем случае убьете мать\проц (буквально, улетели цепи питания на дешевом стареньком пк жены). Фикс тут только один - ждать пока ггг пофиксят мультипоток\гипертрединг. Всё. Никакие состояния простоя, отключения ядер\гипердтрейдинга и прочий мусор не помогут. Особенно 100% нагруз проца без причины.
TW1NS Jan 6 @ 8:18am 
Всем доброго дня! Пишу на случай, если кому-то поможет так же, как помогло мне. Железо у меня хоть не старое и не слабое, но игра висла намертво периодически. Помогла настолько банальная вещь, что аж самому смешно (перепробовал очень много вариантов фикса). Так вот, мне помог переход с полноэкранного режима на полноэкранный оконный. Рекомендую всем попробовать (кто не пробовал).