All Categories

Лечим зависание клиента игры на ПК (инструкция)Лечим зависание клиента игры на ПК (инструкция)

Get RAID: Shadow Legends
Scan the QR code to get the mobile version of this game
Scan the QR code to get the mobile version of this game

Лечим зависание клиента игры на ПК (инструкция)

Search
May 13, 2023, 15:2905/13/23
04/17/22
1462

Лечим зависание клиента игры на ПК (инструкция)

Суть (можно пропустить и перейти к решению ниже): после недавных обновлений видимо была произведена очередная гениальная "оптимизация" клиента игры для ПК. Как следствие начались постоянные зависания игры. Причем зависала она намертво и помогало только снятие процесса. 

i

Конечно, первым делом возникает мысль "это проблемы конкретного компьютера, операционной системы или драйверов". Поэтому я проверил на двух отдельных ноутбуках, установив на них разные версии Windows 10. Проблема так же присутствовала. Анализ журналов выявил одну и ту же проблему на всех компьютерах:

i

Это говорит нам, что драйвер встроенной видеокарты (дискретные роскошь, играю на интегрированной) был перезапущен. Но что же послужило причиной? Анализ информации привел к TDR (Timeout Detection and Recovery).

"TDR - это особенность операционных систем Windows (Windows Vista и выше), которая обнаруживает проблемы с откликом от видеокарты, и восстанавливает рабочий стол, проводя сброс драйвера видеокарты." (с)

Проще говоря из-за зависания клиента игры система перезапускает драйвер. Замечу, что такое наблюдается только с Рейдом. Другие оффлайн игры или клиенты онлайн игр работают отлично. Так вот этот TDR по умолчанию составляет всего 2 секунды. И раз уж мы не можем убрать зависания (и разработчики, видимо, тоже), то мы хотя бы должны "сказать" системе дольше ждать ответа.



Решение: открываем редактор реестра (находим его в программах или в "Пуск -> Выполнить" набираем regedit). 

i

Заходим в раздел

Компьютер\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers

Можно перейти туда в дереве слева или скопировать путь в строку под основным меню. Нам нужно создать (или изменить) ключ TdrDelay типа DWORD.

i

TdrDelay содержит значение ожидания в секундах, поставим 9 (с точной цифрой можете поэкспериментировать).

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


Если не помогает, в этом же разделе можете создать (или изменить) ключ TdrDebugMode типа DWORD со значением 3 (тут экспериментировать не надо, только тройка). 

i


Лично мне помогло, может кому-то тоже будет полезно.

Views
60
Comments
0