Що саме вимірюється
Час кадрів у грі, в яку ти справді граєш, зчитаний із самого графічного стека, а не через оверлей, вбудований у гру. Запусти запис, грай як звичайно, зупини запис.
Те, що це саме твоя гра, має значення. Синтетична сцена скаже, як машина дає раду цій сцені; вона не скаже, чи фризить твоя гра в тому єдиному місці, де вона фризить завжди.
Числа
| Число | Що воно тобі каже |
|---|---|
| Середній FPS | найменш корисна цифра тут. Дві машини з однаковим середнім можуть відчуватися абсолютно по-різному. |
| 1% low | найгірший 1% кадрів. Саме це відчувається як фриз — високе середнє при поганому 1% low є класичним «fps багато, а грати неприємно». |
| Час кадру | ті самі дані в мілісекундах. 16,7 мс — це 60 FPS, 6,9 мс — це 144. |
Читай low, а не середнє. Перехід із 200 на 210 у середньому не змінює нічого, що можна відчути. Перехід із 90 на 140 у 1% low змінює все.
Як чесно порівняти два запуски
- Та сама гра, та сама карта, ті самі налаштування, та сама тривалість запуску.
- Змінюй одну річ між запусками. Зміниш три — і порівняння не скаже тобі нічого про те, яка з них спрацювала.
- Грай однаково. Запуск, проведений біля стіни, і запуск у гущі перестрілки не можна порівнювати.
Що не враховується
Кадри, які гра малює не на передньому плані, не рахуються: секунди між запуском заміру й переходом у гру, секунди після повернення, щоб його зупинити, кожен alt-tab між ними та перша секунда після того, як гра знову вийшла на передній план. Гра у фоні часто малює лише частку своєї звичайної частоти, і самі ці кадри можуть визначити 1% low. Результат показує, скільки секунд не враховано, а замір, збережений старішою версією w0a, яка їх ще рахувала, не порівнюється з новішим.
Чому числа гуляють від запуску до запуску
Так буває завжди. Температури, фонова робота, куди ти пройшов, що робили інші гравці. Кілька відсотків між двома запусками — це нормально і не доводить нічого. Якщо зміна справжня, вона повторюється — і видно її в low.
Після оновлення драйвера чи гри
Пара запусків по різні боки оновлення гри не оцінюється: сторінка називає обидві версії й залишає різницю без кольору, як уже робить при зміні драйвера. Патч змінює те, що робить сама гра, тому жодну різницю через оновлення не можна пояснити налаштуванням. w0a читає версію з файлів самої Counter-Strike 2; в інших іграх порівнюється лише драйвер.
Перший матч після оновлення драйвера чи гри може компілювати шейдери, яких уже немає в кеші. Якщо перший запуск після найновішого оновлення виявився гіршим за наступний на тих самих версіях, більше ніж на власний шум двох запусків, про це каже примітка під результатами. Чи була причиною компіляція шейдерів, не вимірюється; примітка каже лише, що одне збігається з іншим. Якщо два запуски не різняться, примітки немає. Тому після оновлення зіграй один матч перед заміром і порівнюй налаштування починаючи з другого запуску.
Як поставити крапку серією A/B
Один запуск з кожного боку не відрізнить невелику зміну від цих коливань. Серія A/B повторює порівняння, доки це не стане можливим. Що таке A і B, вирішуєш ти (наприклад, A: рушії вимкнені, B: увімкнені); w0a сам не змінює жодного налаштування.
- Спершу пілот. Натисни Почати пілот і заміряй ту саму сцену десять разів, нічого не змінюючи. Пілот вимірює, наскільки твій 1% low сам по собі гуляє від запуску до запуску, а з цього — найменшу різницю, яку серія здатна побачити. Він чинний для тієї самої гри на тому самому залізі.
- Потім серія. Натисни Почати серію A/B. Перед кожним заміром сторінка називає бік, який треба міряти, у порядку A B B A, знову й знову. Перемкнися на це налаштування, зіграй ту саму сцену, зупини замір. Кожен B порівнюється з A, виміряним поруч із ним, тож повільний прогрів машини протягом вечора взаємно компенсується.
- Кожен запуск — та сама сцена і не менше 100 секунд. Видали перший запуск після старту гри: кеші тоді ще прогріваються.
- Вердикт виноситься лише за 1% low, коли набирається щонайменше шість придатних пар (вісім краще); решта рядків — для інформації. Мають збігтися три відповіді: критерій знакових рангів, 95-відсотковий інтервал медіани різниці, що не включає нуль, і різниця не менша за найменшу, яку серія здатна побачити. Без пілота або без десяти запусків A у самій серії, які його замінять, різниця показується, але вердикт не виноситься.
- «У межах шуму» — теж результат: зміна зрушила lows не більше, ніж вони гуляють самі.
Пара, яку картка порівняння сама не оцінила б (короткий запуск, втрачені події, рушій, що змінив стан, інше залізо), не враховується, і серія пише, скільки пар пропущено. Коли закінчиш, натисни Завершити серію; її результат залишиться на сторінці.
Скільки гра чекала на процесор
Під списком довгих інтервалів між кадрами картка впродовж короткого вікна читає власні записи планувальника ядра, коли гра вже якийсь час виводить кадри: скільки потоки гри чекали між готовністю до виконання й отриманням процесора та які інші програми займали процесор у цей час. Потрібні права адміністратора, а вікно, у якому ядро втратило події, не показує жодного числа замість хибного. Якщо вибрано два запуски, вона каже, чи зрушило очікування більше, ніж власний розкид вікон.
Та сама картка називає процесор, на якому найбільше виконувався найзавантаженіший потік гри (узятий за головний), і час відкладених викликів процедур (DPC), виміряний там, де він виконувався, поряд із середнім процесором. Серія додає один рядок: чи зростали й падали разом цей час DPC і фризи в запусках з одним налаштуванням (пілот або сторона A). Вона описує лише збіг у часі; що чим спричинене, не виміряно.
Збережені запуски живлять сканування фризів
Запуски, які ти зберігаєш, сканування фризів використовує як доказ: кадри, виміряні як помітно повільніші за сусідні, з'являються там окремою знахідкою поруч із можливими причинами. Збережений запуск із гри, яка фризить, — найпряміший доказ, який ти можеш йому дати.
Пов'язане
Ця сторінка допомогла?
Чого бракувало або що не спрацювало? Ми читаємо кожну таку відповідь.
Якщо ця сторінка не розв'язала проблему, напиши нам — скажи, яку статтю ти читав, і ми виправимо статтю.