Причини зависання відеодрайвера і їх усунення
1. Перегрівання
Якщо проблема з'являється тільки під час гри в комп'ютерні ігри або в інших вимогливих до відеокарти програмах, цілком ймовірно, що причиною є її перегрівання. Щоб це перевірити, необхідно: • на сайті виробника відеокарти дізнатися максимально допустиму температуру її роботи (у кожної моделі вона різна); • на комп'ютері встановити якийсь синтетичний тест, що створює навантаження на відеокарту і відстежує її температуру в режимі реального часу, наприклад, програму FurMark; • запустити тест, натиснувши кнопку "Burn-in-test" у вікні FurMark, і впродовж 20-30 хвилин постежити за температурою відеокарти. Якщо допустимий максимум буде перевищено, треба потурбуватися про поліпшення її охолодження.
2. Недостатнє живлення
Зависання відеокарти може виникати при недостатньому її електроживленні. Необхідно переконатися, що блок живлення комп'ютера задовольняє вимоги усіх його пристроїв. Важливо, щоб він давав достатню силу струму по лінії +12В. Детальніше про те, як оцінити відповідність блоку живлення вимогам комп'ютера, читайте тут. Навіть якщо блок живлення має достатню потужність, для вирішення проблеми іноді необхідно підняти напругу живлення відеокарти трохи вище стандартного рівня. Особливо, якщо відеокарта розігнана користувачем або має "заводський" розгон. Підняти напругу можна за допомогою спеціальних утиліт. Наприклад, для відеокарт GeForce зручно використовувати програму NVidia Inspektor. Аналогічні програми існують також і для відеокарт Radeon (не складно знайти в Інтернеті). Порядок дій: • у вікні NVidia Inspektor натиснути кнопку "Show Overclocking"; • у додатковій панелі, що відкрилася, зрушити на 1-2 кроки праворуч повзунок "Voltage"; • щоб зміни набули чинності, натиснути кнопку "Apply Clock&Voltage".
3. Надмірний розгон
Якщо відеокарта комп'ютера розігнана, перегрівання немає, і збільшення напруги її живлення проблему не усуває, можна спробувати прибрати розгін або хоча б зменшити його ступінь. Цілком імовірно, що вильоти драйвера після цього припиняться. Навіть якщо відеокарту Ви не розганяли, проблема може зникнути після зниження частоти її графічного ядра та/або пам'яті нижче стандартного рівня. В першу чергу це стосується моделей з "заводським" розгоном. Такі відеокарти зазвичай мають у своїй назві позначення overclocked, TI та ін. Знизити частоту відеокарти можна за допомогою спеціальних утиліт. Для відеокарт GeForce підійде згадана в попередньому пункті програма NVidia Inspektor. Аналогічні програми для відеокарт Radeon не складно знайти в Інтернеті. Якщо після зниження частот проблема із зависанням відеодрайвера зникла, можна перепрошити BIOS відеокарти на звичайну версію (із стандартними для цієї моделі частотами). Перепрошивка BIOS дасть можливість працювати з відеокартою в звичайному порядку, не використовуючи більше вказані вище утиліти. Її швидкодія, звичайно ж, трохи знизиться, проте це позитивно позначиться на її надійності і зручності користувача. Змінювати частоту нижче референсных показників боятися не слід. На практиці, зниження частоти на 1-2% вже може мати відчутний позитивний вплив на стабільність роботи відеокарти. А на продуктивності це майже ніяк не позначиться.
4. Помилки драйвера або іншого ПЗ
Часто причиною зависання відеодрайвера бувають помилки в його роботі. Компанії NVidia та AMD, які їх розробляють, визнають наявність проблеми і постійно намагаються її усунути. У одній версії драйверів їм це вдається краще, в іншій - гірше. Хто знає, може версія відеодрайвера, що використовується комп'ютером в даний момент, погано оптимізована для Вашої відеокарти. Оновіть драйвер до останньої доступної версії, заздалегідь повністю видаливши драйвер старий. Якщо модель відеокарти комп'ютера не нова і проблема з вильотами з'явилася після оновлення драйвера, можливо, що все навпаки, і новий драйвер для неї підходить гірше ніж попередній. Спробуйте відкатити драйвер до колишнього стану. Причиною вильотів драйвера у відеоіграх також можуть бути помилки в DirectX. Оновіть бібліотеки DirectX до останньої версії. Це зручно робити за допомогою утиліти для онлайн оновлення, доступною на офіційному сайті Microsoft.
5. Конфлікт налаштувань драйвера і додатків
Причиною зависання відеодрайвера може бути несумісність його налаштувань з нормальною роботою деяких застосувань, зокрема, комп'ютерних ігор. В першу чергу це стосується 3D параметрів анізотропної фільтрації і згладжування (antialiasing). Так, якщо в панелі керування NVIDIA або ATI/AMD (шукайте їх в панелі керування Windows в розділі "Обладнання і звук") згладжування примусово відключене, а налаштування якоїсь гри передбачають його використання, може виникнути конфлікт, який закінчиться вильотом драйвера. Тому в панелі керування відеокартою краще всього скинути усі налаштування до параметрів за замовчуванням. Для цього там навіть є спеціальна кнопка.
6. Непідходящі налаштування TDR
На початку цієї статті вже говорилося про те, що в усіх версіях Windows, починаючи з Windows Vista, є так званий механізм TDR (Timeout Detection and Recovery), який примусово перезапускає відеодрайвер, коли той не відповідає на запити системи впродовж якогось часу (декілька секунд). Якщо перераховані в попередніх пунктах дії не допомогли розв'язати проблему і TDR продовжує періодично спрацьовувати, можна спробувати збільшити затримку, відведену драйверу для відповіді на запит системи, або ж відключити TDR взагалі. З цією метою треба внести відповідні зміни в системний реєстр Windows. Щоб збільшити затримку спрацьовування TDR: • відкрити редактор реєстру. Нагадаю, що для цього на клавіатурі необхідно натиснути комбінацію клавіш Win+R, у вікні, що з'явилося, надрукувати або скопіювати туди з цієї сторінки команду regedit , після чого натиснути клавішу Enter.
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers; • виділивши розділ "GraphicsDrivers" в лівій частині редактора, в його правій частині знайти параметр з назвою "TdrDelay". Якщо такого параметра там немає, його необхідно створити. Нагадаю, що з цією метою потрібно в лівій частині редактора клацнути правою кнопкою мишки по розділу "GraphicsDrivers", в контекстному меню, що з'явилося, вибрати "Створити" ⇒ "Параметр DWORD" (32 біта) і перейменувати новостворений параметр на "TdrDelay". • двічі клацнути по параметру "TdrDelay" лівою кнопкою мишки. Відкриється вікно, в якому треба вибрати десяткову систему числення, в полі "Значення" вказати затримку спрацьовування TDR (у секундах), натиснути кнопку "ОК", після чого закрити усі вікна і перезавантажити комп'ютер.
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers; • виділивши в лівій частині редактора розділ "GraphicsDrivers", подивитися, чи є в ньому параметр з назвою "TdrLevel" (вміст виділеного розділу відображається в правій частині редактора). Якщо його там немає, його необхідно створити. Клацаємо правою кнопкою мишки по розділу "GraphicsDrivers", в меню, що з'явилося, вибираємо "Створити" ⇒ "Параметр DWORD" (32 біта) і перейменовуємо новий параметр на "TdrLevel". • двічі клацнути лівою кнопкою мишки по параметру "TdrLevel", у вікні, що відкрилося, в полі "Значення" поставити 0 і натиснути кнопку "ОК". Потім закрити усі вікна і перезавантажити комп'ютер.