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

Он измеряет время кадров в той игре, в которую ты играешь сам, а не в синтетической сцене. Что означают перцентили и почему среднее — самое бесполезное число на странице.

Смотри на 1% low, а не на среднее: 1% low — это худший 1% кадров, где и видны подтормаживания, а две машины с одинаковым средним FPS могут ощущаться совершенно по-разному. Сравнивай прогоны одной и той же игры, карты, настроек и длительности, меняй между ними что-то одно и учитывай, что числа сами по себе сдвигаются на несколько процентов.

Что он измеряет

Время кадров из той игры, в которую ты действительно играешь, — считанное из самого графического стека, а не через оверлей, встроенный в игру. Запусти запись, играй как обычно, останови её.

То, что игра твоя собственная, важно. Синтетическая сцена говорит, как машина справляется с этой сценой; она не может сказать, подтормаживает ли твоя игра в том единственном месте, где она подтормаживает всегда.

Что означают средний FPS, 1% low и время кадра?

ЧислоЧто оно говорит
Средний FPSсамая бесполезная цифра здесь. Две машины с одинаковым средним могут ощущаться совершенно по-разному.
1% lowхудший процент кадров. Именно это ощущается как подтормаживание — высокое среднее при плохом 1% low и есть классическое «фпс много, а играть неприятно».
Время кадрате же данные в миллисекундах. 16,7 мс — это 60 FPS, 6,9 мс — 144.

Читай нижние значения, а не среднее. Рост среднего с 200 до 210 не меняет ничего, что можно почувствовать. Рост 1% low с 90 до 140 меняет всё.

Как честно сравнить два прогона бенчмарка?

Что не учитывается

Кадры, которые игра рисует не на переднем плане, не считаются: секунды между запуском замера и переходом в игру, секунды после возврата, чтобы его остановить, каждый alt-tab между ними и первая секунда после того, как игра снова вышла на передний план. Игра в фоне часто рисует лишь долю своей обычной частоты, и одни эти кадры могут задать 1% low. Результат показывает, сколько секунд не учтено, а замер, сохранённый старой версией w0a, которая их ещё считала, не сравнивается с более новым.

Запуск и остановка прямо из игры

Горячая клавиша выключена, пока ты её не включишь: пока w0a работает, зарегистрированное сочетание недоступно всем остальным программам, поэтому w0a сам никакое не занимает. Щёлкни по кнопке Горячая клавиша рядом с выбором игры и нажми сочетание, например Alt+F11. Потом нажми его в игре, чтобы начать замер, и ещё раз, чтобы остановить его: выходить из игры ради этого не нужно. w0a остаётся в фоне: не выходит на передний план и не забирает фокус. Само сочетание до игры не доходит; в CS2 по умолчанию ни на Alt, ни на F11 ничего не назначено, а все остальные клавиши доходят до игры как раньше. Если замер не может начаться, сообщение подождёт, пока ты не переключишься обратно в w0a.

Чтобы потом сменить клавиши, снова щёлкни по кнопке Горячая клавиша и нажми новое сочетание, удерживая вместе с клавишей Ctrl, Alt, Shift или Win. Del отключает сочетание, Esc отменяет, а выбор сохраняется. Если сочетание уже занято другой программой, об этом скажет строка под кнопкой, и сочетание ничего не делает, пока ты не выберешь другие клавиши. w0a регистрирует сочетание в Windows и больше ничего не делает: клавиатуру он не перехватывает и не читает.

Почему результаты бенчмарка меняются от прогона к прогону?

Они гуляют всегда. Температуры, фоновая работа, куда ты шёл, что делали другие игроки. Пара процентов между двумя прогонами — это норма и не доказывает ничего. Если изменение реально, оно повторяется и видно в нижних значениях.

После обновления драйвера или игры

Пара прогонов по разные стороны обновления игры не оценивается: страница называет обе версии и оставляет разницу без цвета, как уже делает при смене драйвера. Патч меняет то, что делает сама игра, поэтому никакую разницу через обновление нельзя отнести к настройке. 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, записи сети нет.

В списке длинных интервалов между кадрами у каждого интервала указано, сколько запросов было в пути в том же окне, сколько осталось без ответа и самое долгое время отклика. Фраза над списком считает интервалы, которые попадают в то же окно, что запрос без ответа или вернувшийся выше порога всплеска. Больше она ничего не говорит: и то и другое случилось одновременно. Задержало ли одно другое, не измерено.

Сохранённые прогоны питают сканер фризов

Прогоны, которые ты сохраняешь, сканер фризов использует как доказательство: кадры, измеримо более медленные, чем соседние, появляются там отдельной находкой рядом с возможными причинами. Сохранённый прогон из той игры, которая подтормаживает, — самое прямое доказательство, которое ты можешь ему дать.

Похожие статьи

Автор — w0a, проект, который разрабатывает приложение. Статья публикуется только после того, как пройдут автоматические проверки сайта, а дата вверху — это день, когда её текст менялся в последний раз.

Из примерно дюжины этапов между кликом и сменой пикселя программе принадлежат три, остальное принадлежит прошивке, монитору и игре: Как уменьшить input lag в CS2 и других играх: что может программа, а что нет

3 дня Pro — активируются прямо в приложении через Discord, без карты: Как работает бесплатный триал

w0a не меняет ни одной настройки Windows, пока ты не попросишь, а твик сохраняет старое значение, прежде чем записать новое. Сообщить мне

Эта страница помогла?

Чего не хватило или что не сработало? Мы читаем каждый такой ответ.

Отправляется только то, что ты напишешь, вместе с названием этой страницы. Наш сервер также записывает IP-адрес подключения, чтобы ограничить злоупотребления, и удаляет его вместе с сообщением. Пожалуйста, не пользуйся этим полем, если тебе меньше 16 лет. Политика конфиденциальности

Если эта страница не решила проблему, напиши нам — скажи, какую статью ты читал, и мы её исправим.