Windows 11 уповільнює запуск програм: один твік скоротив час очікування з 2,5 до 0,5 хвилини

You can stop Windows from deliberately delaying startup apps

Якщо ви, як і автор, після ввімкнення комп’ютера дратуєтеся, коли Discord, Teams, VPN або необхідна утиліта для миші з’являються не відразу, а поступово протягом наступної хвилини-двох, знайте: це не проблема вашого ПК. Windows 11 навмисно затримує запуск цих програм, і на це є вагомі причини.

Один з користувачів Reddit повідомив, що зміна двох значень у реєстрі скоротила час завантаження його програм під час запуску з 2 хвилин 30 секунд до 30 секунд. Автор перевірив це на власному ПК і справді відзначив зменшення часу появи програм. Хоча ця затримка необхідна для деяких ПК, особливо бюджетних, постає питання: чи варто відкривати Редактор реєстру для її вимкнення? Якщо ви плануєте це зробити, ось як це здійснити.

Startup apps in Windows 11 are purposely delayed to prevent bogging down the system
Програми автозапуску в Windows 11 навмисно затримуються, щоб запобігти перевантаженню системи. Джерело: Windows Latest

Користувач Windows 11 скоротив час очікування програм автозапуску з 2,5 хвилин до 30 секунд

У публікації на r/Windows11 досвідчений користувач під ніком u/PersianMG на Reddit, який використовує велику кількість служб автозапуску, включаючи 30 програм, шість скриптів AutoHotkey та багато інших служб на потужному ПК з Windows 11, помітив, що хоча сама ОС завантажується швидко, програми з’являються поступово. Він перевірив Windows Performance Toolkit і виявив великі періоди простою, але не міг знайти причину повільної роботи окремих програм.

Потім він створив ключ “Serialize” в реєстрі з двома значеннями, встановленими на 0. За його словами, час завантаження програм автозапуску скоротився з 2 хвилин 30 секунд до рівно 30 секунд. У відповіді він додав, що програми раніше починали запускатися приблизно через 1 хвилину 50 секунд після завантаження, а тепер починають приблизно через 20 секунд і завершуються за п’ять. Це значна різниця, але, звісно, вона залежить від конфігурації ПК.

Registry Edit that prevents Windows from delaying Startup apps to load
Зміна в реєстрі, яка запобігає затримці завантаження програм автозапуску в Windows. Зображення: Reddit

Один користувач з ПК Core Ultra 270K Plus та відеокартою RTX 5080 помітив скорочення часу з 90 до 47 секунд, просто встановивши WaitForIdleState на 0, а після перевпорядкування програм за допомогою Startup Delayer – до 36 секунд. Інший користувач відзначив скорочення часу завершення запуску зі 140 до 113 секунд, тоді як у інших різниця становила 3-6 секунд, що теж непогано.

Проблеми з затримкою програм автозапуску існують вже багато років. Два роки тому користувач скаржився на повільний запуск програм автозапуску на r/WindowsHelp, і виправленням, яке спрацювало, був саме цей ключ реєстру. У гілці питань і відповідей Microsoft від лютого 2024 року користувач Windows 11 23H2 зазначив, що програми в shell:startup затримувалися на 1-3 хвилини після появи робочого столу.

Крім очевидного роздратування, користувачі припускають, що це проблема їхнього ПК, і починають замислюватися про оновлення компонентів, що є значно дорожчим рішенням, ніж рік тому.

Також виникає питання, чи думала Microsoft про те, що користувачі усвідомлять, що це проблема Windows, і чи не зробить це ОС ще більш нестерпною.

Windows навмисно затримує програми автозапуску, і Microsoft пояснила чому

У документації Microsoft для ключів реєстру Run та RunOnce зазначено: “Система не надає гарантій щодо швидкості виконання програм у ключі Run. Вона може вибрати затримку виконання програм з ключа Run та групи Startup доти, доки вони з меншою ймовірністю не почнуть заважати вашій роботі або одна одній”.

Startup apps enabled in Windows 11
Програми автозапуску, увімкнені в Windows 11. Джерело: Windows Latest

Реймонд Чен з Microsoft пояснив причину в публікації “Old New Thing” від 2016 року під назвою “Startup apps start up when I tell them”. Цікаво, що стаття починається згадкою про журнал, який вимірював час завантаження Windows 8, помістивши Блокнот до групи автозапуску. Чен з посмішкою зазначив, що він контролює час запуску програм автозапуску і міг би зробити Windows швидшою чи повільнішою, налаштовуючи значення Sleep.

За словами Чена, Explorer спочатку готує видимі елементи, група автозапуску є однією з останніх у списку обробки, і до цього додається “додаткова затримка”. Коли десяток програм завантажуються з диска одночасно, ПК стає настільки завантаженим, що користувачі навіть не можуть відкрити меню “Пуск”.

Протягом років Windows Vista запускала програми автозапуску з низьким пріоритетом процесора та диска протягом 60 секунд, тоді як Windows 8 чекала, поки кожна програма “заспокоїться”, перш ніж запустити наступну.

Це мало сенс за часів жорстких дисків. Але на ПК з NVMe SSD та 32 ГБ оперативної пам’яті Windows буквально витрачає час, чекаючи на “вільний” момент, хоча апаратне забезпечення має значний запас потужності. Робочі ноутбуки, завантажені антивірусними програмами, можуть довго досягати цього стану простою.

Що роблять StartupDelayInMSec та WaitForIdleState

All Startup apps showed up quickly after setting StartupDelayInMSec and WaitForIdleState to Zero
Усі програми автозапуску швидко з’явилися після встановлення StartupDelayInMSec та WaitForIdleState на нуль. Джерело: Windows Latest

StartupDelayInMSec контролює фіксовану затримку перед тим, як Explorer запустить ваші програми автозапуску, тоді як WaitForIdleState визначає, чи чекає Windows, доки система не стане неактивною. Розробник Wintoys стверджує, що WaitForIdleState потрібен лише в Windows 11 24H2 і новіших версіях.

Варто зазначити, що Microsoft документує цю затримку, але не згадує ці два значення. Виправлення походить від спільноти, і Microsoft може змінити його роботу в будь-який час.

Як вимкнути затримку програм автозапуску в Windows 11

Спочатку створіть точку відновлення. Ключ знаходиться в HKEY_CURRENT_USER, тому вам не потрібні права адміністратора, хоча ваш робочий ПК може блокувати редагування реєстру.

  1. Натисніть Win + R, введіть regedit і натисніть Enter.
  2. Перейдіть до HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorer.
  3. Клацніть правою кнопкою миші на Explorer, виберіть “Створити” (New) > “Розділ” (Key) і назвіть його Serialize. На більшості ПК його ще не буде.

    Creatinng a new Key in Explorer
    Створення нового розділу в Explorer. Джерело: Windows Latest
  4. Клацніть на Serialize, клацніть правою кнопкою миші на порожньому місці праворуч, виберіть “Створити” (New) > “Параметр DWORD (32-розрядний)” (DWORD (32-bit) Value) і назвіть його StartupDelayInMSec. Його значення за замовчуванням – 0.

    Creating new DWORD in Serialize
    Створення нового параметра DWORD у Serialize. Джерело: Windows Latest
  5. Створіть ще один параметр DWORD (32-розрядний) під назвою WaitForIdleState і також залиште його значення 0.

    StartupDelayInMsec and WaitForIdleState set to zero in Serialize
    StartupDelayInMsec і WaitForIdleState встановлені на нуль у Serialize. Джерело: Windows Latest
  6. Перезавантажте ПК.

Автор перевірив це на своїй малопотужній віртуальній машині: до створення цих ключів програми автозапуску з’являлися кілька хвилин, а після їх увімкнення – приблизно за хвилину. Однак, оскільки віртуальна машина повільна сама по собі, автор не рекомендує це робити і зазвичай залишає більшість програм автозапуску вимкненими.

Якщо ваші програми автозапуску все ще працюють повільно, двічі клацніть на StartupDelayInMSec і змініть його значення на 1. Розробник Wintoys зазначає, що значення 0 приймається не на всіх системах або версіях Windows, і кілька користувачів у гілці повідомили, що значення 1 спрацювало для них. Щоб скасувати зміни, просто видаліть ключ Serialize.

Якщо ви не хочете вносити зміни до реєстру, можна скористатися модом Windhawk Startup App Delay Fix або відповідним перемикачем у Wintoys.

Windhawk already has a mod to reduce the delay for Startup apps to showup
Windhawk вже має мод для зменшення затримки появи програм автозапуску

Твік затримки автозапуску має обмеження, і слабші ПК, можливо, захочуть його зберегти

Твік лише змінює час, коли Windows дозволяє запускатися вашим програмам, тому кожна програма все одно завантажується зі звичайною швидкістю. За словами розробника Wintoys, він також не впливає на більшість програм з Microsoft Store.

На бюджетному ноутбуці одночасний запуск 30 програм може повернути той хаос, якого Microsoft намагалася уникнути. Подібно до вимкнення SysMain або видалення Prefetch, твік продуктивності, який дивовижно працює на одному ПК, може не дати жодного ефекту або навіть погіршити роботу на іншому.

Слід віддати належне: Microsoft цього року працювала над прискоренням запуску програм, від пропуску марного додаткового процесу до прискорення процесора за профілем низької затримки (Low Latency Profile). Можливо, найкращим нововведенням є оптимізація оперативної пам’яті на ПК з 8 ГБ і більше, яка, як показали тести, звільняє майже 2 ГБ додаткової оперативної пам’яті.

Але питання автора до Microsoft: якщо в Налаштування > Програми > Автозапуск (Settings > Apps > Startup) вже є можливість вмикати та вимикати програми автозапуску, чому б не додати перемикач “Оптимізований автозапуск”, увімкнений за замовчуванням? Один користувач Reddit написав запит для Claude, щоб він його створив. Черга за Microsoft.

Інформація підготовлена на основі матеріалів: www.windowslatest.com

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *