Як читати результат бенчмарку

Він вимірює час кадрів, поки ти граєш у власну гру, а не в синтетичну сцену. Що означають процентилі й чому середнє — найменш корисне число на сторінці.

Що саме вимірюється

Час кадрів у грі, в яку ти справді граєш, зчитаний із самого графічного стека, а не через оверлей, вбудований у гру. Запусти запис, грай як звичайно, зупини запис.

Те, що це саме твоя гра, має значення. Синтетична сцена скаже, як машина дає раду цій сцені; вона не скаже, чи фризить твоя гра в тому єдиному місці, де вона фризить завжди.

Числа

ЧислоЩо воно тобі каже
Середній 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 сам не змінює жодного налаштування.

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

Скільки гра чекала на процесор

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

Та сама картка називає процесор, на якому найбільше виконувався найзавантаженіший потік гри (узятий за головний), і час відкладених викликів процедур (DPC), виміряний там, де він виконувався, поряд із середнім процесором. Серія додає один рядок: чи зростали й падали разом цей час DPC і фризи в запусках з одним налаштуванням (пілот або сторона A). Вона описує лише збіг у часі; що чим спричинене, не виміряно.

Мережа під час запису

Під час запису, поки гра запущена, w0a десять разів на секунду надсилає невеликий запит на 1.1.1.1 — ту саму адресу, яку використовує картка Живе з'єднання на сторінці «Інтернет». Це не сервер твоєї гри: так вимірюється твоє власне з'єднання (роутер, Wi-Fi, мережа провайдера), та частина шляху, якою трафік будь-якої гри проходить першою. Запит без відповіді протягом секунди вважається втраченим. Якщо мережа ніколи не відповідає на ping, w0a переходить на TCP-рукостискання з портом 443 тієї самої адреси, п'ять на секунду, а ping-запити до перемикання вилучаються із запису: їх фільтрували, а не втрачали. Поки гра не запущена, нічого не надсилається, а поза записом замір мережі не працює взагалі.

Якщо вибрано два запуски, у картці порівняння з'являється рядок Мережа: p95 часу відгуку, втрати й сплески обох запусків поруч, без кольору, бо картка порівнює кадри, а не мережі. Скопійований результат містить ті самі три числа. Якщо запуск виміряно рукостисканнями, рядок це вказує: рукостискання показує трохи більше, ніж ping. Підказка рядка додає для кожного запуску p50, p99, найдовший час відгуку й поріг сплеску.

Сплеск — це серія запитів вище порогу сплеску; він рахується один раз, хоч би скільки тривав. Поріг — це верхній квартиль плюс три міжквартильні розмахи, і він ніколи не нижчий за медіану плюс 10 мс, щоб звичайні коливання спокійного з'єднання не рахувалися. Для нього потрібно щонайменше 20 запитів із відповіддю, як і для p95; для p99 — 100. Нижче цього замість вгаданого числа стоїть прочерк. Запис зупиняється після години заміру або раніше, якщо маршрут попросить надсилати менше пакетів (ICMP source quench) чи запит завершиться помилкою; підказка називає причину. У запуску, збереженому старішою версією w0a, запису мережі немає.

У списку довгих інтервалів між кадрами кожен інтервал показує, скільки запитів було в дорозі в тому самому вікні, скільки залишилося без відповіді й найдовший час відгуку. Речення над списком рахує інтервали, що потрапляють у те саме вікно, що й запит без відповіді або той, що повернувся вище порогу сплеску. Більше воно нічого не каже: одне й друге сталося одночасно. Чи затримало одне інше, не виміряно.

Збережені запуски живлять сканування фризів

Запуски, які ти зберігаєш, сканування фризів використовує як доказ: кадри, виміряні як помітно повільніші за сусідні, з'являються там окремою знахідкою поруч із можливими причинами. Збережений запуск із гри, яка фризить, — найпряміший доказ, який ти можеш йому дати.

Пов'язане

Із приблизно дванадцяти етапів між кліком і зміною пікселя програмі належать три, а решта належить прошивці, дисплею і грі: Як зменшити input lag: що програма може скоротити, а що ні

w0a не змінює жодного налаштування Windows, поки ти не попросиш, а твік зберігає старе значення, перш ніж записати нове. Бути в курсі

Ця сторінка допомогла?

Чого бракувало або що не спрацювало? Ми читаємо кожну таку відповідь.

Якщо ця сторінка не розв'язала проблему, напиши нам — скажи, яку статтю ти читав, і ми виправимо статтю.