Спершу чесне речення. Жоден із трьох перемикачів на цій сторінці сам собою не піднімає частоту кадрів: два з них вирішують, як кадри гри доходять до екрана, а третій повідомляє Windows, що на передньому плані гра. У w0a немає жодного вимірювання того, що будь-який із них змінює на твоїй машині, тому ця сторінка точно показує, що записує кожен прапорець, як це перечитати і як виміряти самому.
Їх постійно згадують в одному реченні — «вимкни повноекранні оптимізації та ігровий режим» — один із найстаріших рядків у цій темі, — а це непов'язані налаштування, які роблять непов'язані речі. Порада до того ж має десять років, і Windows під нею змінився.
Ось що таке кожне з них, що змінилося і як відповісти на це питання для своєї машини, а не для чужої.
Що таке повноекранні оптимізації насправді
Коли гра просить ексклюзивний повноекранний режим — старий режим, у якому гра володіє дисплеєм цілком, — Windows може натомість запустити її як вікно без рамок (borderless), яке все одно подає кадри просто на екран. Ось у чому «оптимізація»: ти зберігаєш те, що ексклюзивний повний екран ламає (швидкий alt-tab, оверлеї, сповіщення, Auto HDR), і, коли умови виконано, подання й далі йде просто на дисплей, без зупинки в композиторі робочого столу.
Механізм, який це вможливлює, називається independent flip: буфери гри віддаються дисплею напряму, а композитор відходить убік. Коли умови не виконано — заважає оверлей, вікно насправді не повноекранне, формат не збігається, — подання відкочується до композиції, до кожного кадру додається зупинка в композиторі, а кожен перехід між цими двома станами відчувається як ривок.
Саме цей відкат, а не саме налаштування, люди й відчувають, коли воно їм допомагає.
Чому стара порада застаріла
Windows 11 не прибрала старий шлях blit. Гра на DirectX 12 завжди подає кадри через flip-model, а налаштування для ігор у вікні нижче може перевести сумісну гру на DirectX 10 або 11 зі шляху blit; але гра у вікні, яку не охоплює ні те, ні інше, і далі копіює кожен кадр по-старому. Значення повноекранних оптимізацій стосуються ігор, які запитують ексклюзивний повний екран. w0a записує їх і в Windows 11, але чи читає їх Windows 11 досі, не вимірювалося, — і w0a пише саме це в повідомленні, яке друкує, коли записує ці значення, замість дати тобі повірити, ніби ти щойно знайшов виграш для всієї машини.
Є й друга річ, яку варто знати, бо саме вона є джерелом безкінечної плутанини в посібниках, що перекидаються значеннями реєстру: чиста інсталяція Windows постачається зі значенням поведінки, яке вже дорівнює 2, і з прапорцем «шанувати вибір користувача» на 0. Повноекранні оптимізації ввімкнені саме тому, що цей прапорець дорівнює 0, а не через значення поведінки. Читання самого лише першого значення не каже тобі нічого — і саме тому сторінка, яка запевняє, що на твоїй машині «це вже вимкнено», часто читає його неправильно.
Коли вимкнути його — законний експеримент
Не «ніколи». Спробувати це розумно, коли:
- гра — стара гра на DirectX, якій справді потрібен ексклюзивний повноекранний режим;
- колір, гамма або HDR поводяться дивно в одній конкретній грі;
- оверлей чи програма запису збоїть лише в цій грі.
Роби це спершу для окремої гри — позначка на вкладці «Сумісність» у властивостях виконуваного файла, — а не для всієї машини. Проблема однієї гри — не привід міняти те, як подають кадри всі ігри.
І знай, чим жертвуєш: alt-tab стає повільнішим, Auto HDR не застосовується до гри, яка йде в справжньому ексклюзивному повному екрані, а деякі оверлеї перестають малюватися. Це рівно ті симптоми, заради скасування яких існує картка відновлення повноекранні оптимізації: вона безумовно записує назад стандартні значення Windows, хоч би яка програма їх змінила.
Інше налаштування: оптимізація для віконних ігор
Інший перемикач, інша версія Windows, і його постійно плутають із тим, що вище. Windows 11 22H2 додала налаштування для ігор у вікні або без рамок: за словами Microsoft, воно переводить сумісну гру на DirectX 10 або 11 зі старого подання через blit на flip-model. Це опис Microsoft, а не виграш, виміряний w0a. До 22H2 це значення взагалі не читається.
- Для кого: за описом Microsoft, для ігор на DirectX 10 і 11 у вікні або без рамок; чи допомагає воно на твоїй машині, не вимірювалося.
- Кому нічого не дає: тим, хто на старішій збірці Windows, і тим, хто вже грає в ексклюзивному повноекранному режимі.
- Одна взаємодія, яку варто знати: коли ввімкнено Auto HDR, Windows тримає цю функцію ввімкненою сам.
w0a вміє це вмикати, а картка виведення ігор у віконному режимі прибирає лише те значення, яке записав сам w0a: якщо ти свідомо вимкнув цю функцію в графічних налаштуваннях Windows, твій вибір лишається недоторканим. Вимкнути налаштування, яке обрав користувач, — це не відновлення.
Ігровий режим
Що робить: повідомляє Windows, що гра на передньому плані, тож частину фонової роботи він притримує і не дає встановленню драйверів і запитам на перезавантаження прилітати посеред матчу.
Кому допомагає: машині з фоновою роботою, яка інакше прилетіла б посеред матчу; наскільки він впливає на твою, не виміряно. Його варто лишити ввімкненим.
Звідки взялася порада «вимкни його»: з невеликої кількості машин, на яких хтось виміряв із ним проблему й описав це, після чого порада розійшлася на всіх. Це заява, яку можна перевірити, а не правило, — і якщо перевіряєш, перевіряй так само, як належить перевіряти будь-яку іншу зміну, нижче.
Чим він не є: функцією для частоти кадрів. Якщо ти чекаєш, що зрушить якесь число, це не те налаштування, яке його рухає.
Що записує w0a, прапорець за прапорцем
Цієї теми стосуються три прапорці. Кожен перед записом запам'ятовує попереднє значення, тож Як скасувати те, що змінив w0a повертає те, що було раніше. Картки відновлення, згадані нижче, роблять інше: вони записують назад стандартні значення Windows, хоч би яка програма змінила ці значення.
«Вимкнути повноекранні оптимізації (FSE)» (сторінка «Оптимізації»)
Чотири значення, усі DWORD, у HKEY_CURRENT_USER\System\GameConfigStore:
| Значення | Прапорець записує | Стандарт Windows (те, що записує назад картка відновлення) |
|---|---|---|
GameDVR_FSEBehaviorMode | 2 | 2 |
GameDVR_HonorUserFSEBehaviorMode | 1 | 0 |
GameDVR_DXGIHonorFSEWindowsCompatible | 1 | 0 |
GameDVR_EFSEFeatureFlags | 0 | відсутнє |
Перший рядок однаковий з обох боків, тож насправді прапорець змінює три інші значення.
- Коли діє: w0a не просить перезавантаження для цього прапорця. Microsoft не каже, чи підхоплює зміну вже запущена гра, тож закрий гру й запусти її знову, перш ніж щось оцінювати.
- У Windows 11: w0a записує чотири значення і на збірці 22000 та новіших; чи читає їх Windows 11 досі, не вимірювалося, і повідомлення, яке він там показує, каже саме це.
- Усі ігри, а не одна: прапорець змінює це налаштування для кожної гри, яку запускає цей користувач Windows. Шлях для окремої гри — той, який документує Microsoft: клацни правою кнопкою на виконуваному файлі гри, Властивості, вкладка Сумісність, постав позначку Вимкнути оптимізацію повноекранного режиму, Застосувати. У w0a немає прапорця, який ставив би цю позначку для окремої гри, тож це рішення лишається за тобою.
- Шлях назад: картка відновлення Повноекранні оптимізації записує назад праву колонку.
«Увімкнути ігровий режим Windows» (сторінка «Оптимізації»)
Два значення, DWORD 1, у HKEY_CURRENT_USER\Software\Microsoft\GameBar: AutoGameModeEnabled і AllowAutoGameMode.
- Прапорець спершу читає. Якщо обидва значення вже дорівнюють 1, він нічого не записує й каже тобі про це; він не повідомляє про зміну, якої не робив.
- На Windows, старішому за Windows 10 версії 1703 (збірка 15063), він узагалі нічого не записує: ігровий режим з'явився в 1703, і на старіших збірках ці значення ніхто не читав би.
- Стандарт Windows: якщо значень немає, Windows застосовує власне стандартне значення. Microsoft називає це стандартне значення лише у відповіді служби підтримки, а не в довіднику політик чи параметрів, тому повідомлення w0a його не називає, і ця сторінка теж.
- Коли діє: w0a не просить перезавантаження для цього прапорця.
- Шлях назад: жодна картка відновлення не скидає ці два значення. Як скасувати те, що змінив w0a повертає те, що було до прапорця.
«Увімкнути оптимізації для ігор у вікні (лише Windows 11)» (сторінка «Оптимізація гри»)
Одна пара, SwapEffectUpgradeEnable=1, вставлена в текстове значення DirectXUserGlobalSettings у HKEY_CURRENT_USER\SOFTWARE\Microsoft\DirectX\UserGpuPreferences.
- Вставлена, а не перезаписана: той самий текст містить і твої налаштування Auto HDR, змінної частоти оновлення та стандартного GPU, і прапорець їх зберігає. Якщо він не може прочитати поточний текст, то нічого не записує й каже про це.
- Версія Windows: до Windows 11 версії 22H2 (збірка 22621) прапорець нічого не записує й каже, що налаштування не застосовується.
- Що це охоплює за словами Microsoft: ігри на DirectX 10 і DirectX 11 у віконному режимі або у вікні без рамок. Microsoft описує це як перехід сумісних ігор від старішого подання за моделлю blt до моделі flip, із меншою затримкою; це опис Microsoft, а не вимірювання на твоїй машині.
- Власний перемикач Windows: Налаштування > Система > Дисплей > Графіка, і в стандартних налаштуваннях перемикач Оптимізація для віконних ігор. Для однієї гри: Користувацькі параметри для програм, гра, Параметри. Сторінка Microsoft не каже, увімкнений перемикач спочатку чи вимкнений.
- Auto HDR: увімкнення Auto HDR автоматично вмикає цю функцію, а щоб її вимкнути, спершу треба вимкнути Auto HDR.
- Коли діє: вказівка Microsoft — перезапустити гру.
- Шлях назад: картка Виведення ігор у віконному режимі прибирає з глобального тексту лише
SwapEffectUpgradeEnable=1.SwapEffectUpgradeEnable=0, яке виставив ти, і всі записи для окремих ігор лишаються як є. - Що з цим робить сканування фризів: воно згадує це налаштування лише тоді, коли глобальний текст явно каже
SwapEffectUpgradeEnable=0, як інформацію і без картки відновлення, бо це значення — чийсь свідомий вибір.
Перевір сам
Ці команди лише читають. Запусти їх у командному рядку або в PowerShell:
reg query "HKCU\System\GameConfigStore"
reg query "HKCU\Software\Microsoft\GameBar" /v AutoGameModeEnabled
reg query "HKCU\Software\Microsoft\GameBar" /v AllowAutoGameMode
reg query "HKCU\SOFTWARE\Microsoft\DirectX\UserGpuPreferences" /v DirectXUserGlobalSettings
Як читати відповіді:
- Значення DWORD виводяться в шістнадцятковому вигляді. Рядок на кшталт
GameDVR_FSEBehaviorMode REG_DWORD 0x2означає 2;0x1означає 1, а0x0означає 0. - Перша команда виводить усі значення в цьому розділі. Порівняй чотири імені з таблицею вище; якщо
GameDVR_EFSEFeatureFlagsу списку немає, це стандарт Windows. - Якщо значення, яке ти запитав на ім'я, не існує,
reg queryзавершується помилкою замість того, щоб вивести рядок. Для двох значень ігрового режиму це означає «не задано», і діє власне стандартне значення Windows. - Остання команда виводить рядок із пар
Name=Value;.SwapEffectUpgradeEnable=1означає, що функцію ввімкнено, прапорцем або перемикачем у Налаштуваннях;SwapEffectUpgradeEnable=0означає, що хтось навмисно її вимкнув; якщо такої пари немає, ніщо не задало її для всіх ігор.
Як це справді вирішити
Лічильник не відповість тобі на це питання: обидва налаштування змінюють те, як кадри доходять до екрана, а це видно в рівномірності подачі й у хвості розподілу, а не в середньому.
- Обери одну гру й одну повторювану сцену.
- Зніми незмінену конфігурацію тричі, щоб знати власний шум від прогону до прогону. Як читати результат бенчмарку пояснює, чому цей крок не є необов'язковим.
- Зміни одне з двох налаштувань.
- Зніми ту саму сцену так само й порівняй 1% low, а не середнє. Високий середній FPS, але погані 1% low пояснює, що саме ти читаєш.
- Скасуй усе, що не зрушило жодного числа за межі твого власного шуму.
Тут варто стежити ще за одним числом. Збережений запис фіксує моменти, коли подання відкотилося до композиції, і сканування фризів повідомляє це окремою знахідкою з лічильником. Якщо це число високе, корисне питання не «вмикати повноекранні оптимізації чи ні», а «що змушує до композиції» — зазвичай оверлей або вікно, розмір якого не збігається з розміром дисплея.
Чого на цій сторінці немає
Вимкнення композитора робочого столу, значення реєстру MPO і значення TDR ходять у тих самих посібниках, що й ця тема. w0a відмовляється їх записувати, і для значень реєстру причини задокументовано:
OverlayTestModeіDisableOverlaysвимикають багатошарове накладання (MPO). На реальній машині з Windows 11 25H2 вони намертво й відтворювано заморожували CS2: увесь комп'ютер, а не лише гру.TdrDelayіTdrDdiDelayподовжують сторожовий таймер графічного драйвера, через що кожне зависання лише триває довше;TdrLevelповністю вимикає відновлення.EnablePreemption— це налагоджувальне значення моделі драйверів без жодної виміряної користі для кадрів, і воно позбавляє GPU здатності відновитися після завислого навантаження.
w0a також не ставить позначку сумісності для окремої гри і не має прапорця, який вимикав би ігровий режим. Якщо якась попередня програма виставила одне зі значень реєстру вище, Екран і відео та Відновлення після збою GPU повертають стандартні значення Windows.
Пов'язане
- Налаштування Windows 11 для ігор, які справді важать
- Чому ігри фризять на Windows 11
- Як читати результат бенчмарку
- Виведення ігор у віконному режимі
- Як скасувати те, що змінив w0a
- Низький FPS і фризи в CS2
Які налаштування Windows щось змінюють у грі, кому кожне допомагає і кому не дає нічого: Налаштування Windows 11 для ігор, які справді важать
Ця сторінка допомогла?
Чого бракувало або що не спрацювало? Ми читаємо кожну таку відповідь.
Якщо ця сторінка не розв'язала проблему, напиши нам — скажи, яку статтю ти читав, і ми виправимо статтю.