All Categories

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

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

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
46
Comments
0