WOOFY · Игровая лаборатория

Одинаковый FPS, разный ритм кадров

Счётчик FPS обобщает частоту. Он не сообщает, когда приходит каждый кадр. На этих намеренно простых последовательностях можно понять, на какие вопросы отвечает сводка, а для каких нужна временная диаграмма.

Задайте другой вопрос тем же данным

Почему два значения FPS не всегда можно просто усреднить

Представьте два полных интервала: 10 мс и 30 мс. Вместе они занимают 40 мс. Сосчитайте оба интервала за это суммарное время.

Общая частота равна 1000 × 2 ÷ 40 = 50 FPS. Обратная величина интервала 10 мс соответствует 100 FPS, а интервала 30 мс — примерно 33.33 FPS.

Среднее между 100 и 33.33 — около 66.67, но это не общая частота. Медленный интервал занимает втрое больше времени. Учитывайте число интервалов вместе с общей длительностью: та же ошибка возникает при объединении записей разной длины.

Три последовательности, одно суммарное время

В каждой последовательности 1000 полных интервалов между кадрами общей длительностью 10000 мс. Интервал — это время между последовательными событиями кадров. Здесь средний FPS = 1000 × число интервалов ÷ суммарное время в миллисекундах. Интервалы синтетические, без границ захвата и пропущенных записей.

Положение по горизонтали показывает порядок интервалов, а не прошедшее время. Высота по вертикали — длительность от 0 до 120 мс. Текст и числа ниже описывают те же данные.

Равномерные интервалы

Каждый интервал равен 10 мс. Ни один не превышает ориентировочный бюджет около 16.67 мс для 60 FPS.

Средний FPS
100
Интервал P99 (мс)
10
Самый длинный интервал (мс)
10
Интервалы сверх бюджета
0
Доля интервалов сверх бюджета (%)
0
Доля общего времени в этих интервалах (%)
0
Самая длинная группа превышений подряд
0
Ориентировочный бюджет (мс)
16,67

Десять раздельных пауз

Каждый сотый интервал равен 109 мс, остальные 990 — по 9 мс. Паузы разделены. Среднее остаётся 100 FPS, но P99 составляет всего 9 мс.

Средний FPS
100
Интервал P99 (мс)
9
Самый длинный интервал (мс)
109
Интервалы сверх бюджета
10
Доля интервалов сверх бюджета (%)
1
Доля общего времени в этих интервалах (%)
10,9
Самая длинная группа превышений подряд
1
Ориентировочный бюджет (мс)
16,67

Десять пауз подряд

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

Средний FPS
100
Интервал P99 (мс)
9
Самый длинный интервал (мс)
109
Интервалы сверх бюджета
10
Доля интервалов сверх бюджета (%)
1
Доля общего времени в этих интервалах (%)
10,9
Самая длинная группа превышений подряд
10
Ориентировочный бюджет (мс)
16,67

Почему P99 может не показать самые длинные паузы

Лаборатория сортирует интервалы от коротких к длинным и берёт позицию ceil(0.99 × N), считая с единицы. Для 1000 интервалов это позиция 990. В обеих неравномерных последовательностях первые 990 значений равны 9 мс, а все десять пауз по 109 мс находятся за этой позицией. Меньший P99 здесь не доказывает более равномерное восприятие. Другие инструменты могут рассчитывать процентили иначе.

P99 — не универсальный «1% low FPS»

Граница процентиля и среднее самых медленных интервалов — разные расчёты. Одной надписи «1% low» недостаточно, чтобы определить формулу. Перед сравнением проверьте определение инструмента, измеряемую величину и версию. Эта лаборатория показывает P99 в миллисекундах и не называет обратную величину 1% low.

Задайте другой вопрос тем же данным

Выберите последовательность и опорную частоту. Бюджет 1000 ÷ опорный FPS составляет 33.33 мс при 30, 16.67 мс при 60 и 8.33 мс при 120. Его изменение лишь заново классифицирует интервалы, не меняя последовательность и не имитируя ограничитель FPS.

Три примера выше используют ориентир 60 FPS. Их данные, объяснения и метод доступны и без интерактивных элементов.

Учитываются только интервалы строго длиннее опорного бюджета. Равенство считается укладыванием в бюджет.

Доля времени складывается из полных длительностей учтённых интервалов, а не только превышений бюджета. Это не оценка рывков и не измерение задержки ввода. Непрерывная группа означает соседние интервалы, а не доказанный эпизод заметного рывка.

Превратите изменение настройки в корректное сравнение

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

  1. Определите один вопрос

    Например: уменьшает ли изменение одной графической настройки повторяющиеся длинные интервалы на том же маршруте? Зафиксируйте версию игры, сцену, разрешение, лимит кадров, синхронизацию и остальные настройки. Запишите все исключения.

  2. Запишите сопоставимые прогоны

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

  3. Читайте сводку вместе с временной диаграммой

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

  4. Укажите границы вывода

    Запишите изменённую настройку, фиксированные условия, результаты повторений и оставшуюся неопределённость. Интервалы представления кадров приложением, показанные и сгенерированные кадры могут различаться. Сравнивайте одну метрику; не выводите задержку ввода или неисправность CPU/GPU только из этих чисел.

От таблицы результатов к обоснованному выводу

В каждом случае свой вопрос: повторилось ли преимущество, улучшился ли выбранный показатель и правильно ли объединены записи? Сначала изучите наблюдения, затем решайте, какие выводы они подтверждают.

Все записи ниже — учебные данные, искусственно составленные из полных интервалов, а не реальные записи тестов производительности. A и B — обозначения, а не рекомендуемые настройки. Примеры не задают минимальное число повторений или правило статистической значимости.

Лучшая запись указывает на победителя, а весь набор — нет

В этом искусственном примере A и B чередуются на одном маршруте по 60 секунд, с одинаковыми метрикой записи, прогревом, разрешением и прочими условиями. Вопрос в том, показывает ли B повторяемое преимущество по средней частоте в этих трёх парах.

Пара повторенийA · Средняя частота FPSB · Средняя частота FPSB минус A (FPS)
11001033
210299-3
31011010

A

Общая частота FPS за полную длительность
101
Наименьший средний FPS среди записей
100
Наибольший средний FPS среди записей
102

B

Общая частота FPS за полную длительность
101
Наименьший средний FPS среди записей
99
Наибольший средний FPS среди записей
103

Выбор только наибольшего результата даёт A 102 и B 103 FPS. Если сохранить все записи одинаковой длительности, общая частота обоих вариантов составит 101 FPS. Разности по парам равны +3, −3 и 0 FPS: направление меняется.

Какой вывод допустим

Этот набор не показывает устойчивого преимущества B по средней частоте FPS. Он также не доказывает равнозначность настроек: небольшая искусственная выборка не позволяет установить это.

Что проверить дальше

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

Границы вывода

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

Средняя частота растёт, а показатель длинных интервалов ухудшается

Обе искусственные записи длятся десять секунд. A содержит 980 интервалов по 10 мс и десять по 20 мс. B содержит 1180 интервалов по 8 мс и двадцать по 28 мс. Для обоих используйте один ориентир 60 FPS — примерно 16.67 мс.

A

Длительность (с)
10
Полные интервалы
990
Средняя частота FPS
99
Интервалы длиннее ориентира для 60 FPS
10
Доля времени в этих интервалах (%)
2

B

Длительность (с)
10
Полные интервалы
1 200
Средняя частота FPS
120
Интервалы длиннее ориентира для 60 FPS
20
Доля времени в этих интервалах (%)
5,6

В A всего 990 интервалов, в B — 1200: 99 против 120 FPS. Учтённые длинные интервалы занимают 200 мс в A и 560 мс в B, то есть 2% против 5.6% общего времени. Эти проценты относятся ко времени, а не к доле интервалов.

Какой вывод допустим

В этом примере у B выше средняя частота, но больше времени приходится на интервалы длиннее выбранного ориентира. Числа показывают улучшение одного показателя при ухудшении другого, а не победителя по общей плавности.

Что проверить дальше

Уточните, что вас интересует: средняя частота, повторяющиеся длинные интервалы или другой измеряемый результат. Прежде чем оставить настройку, сравните повторные записи одной сцены и выясните, где возникают длинные интервалы.

Границы вывода

Одна пара A/B не устанавливает повторяемый эффект. Порог — выбранный ориентир; пример не измеряет восприятие или задержку ввода и не определяет причину длинного интервала.

Разная длина записей может перевернуть наивный рейтинг

A объединяет десять секунд при 120 FPS с девяноста секундами при 60 FPS. B объединяет две записи по пятьдесят секунд при 80 FPS. Каждое обозначение, таким образом, охватывает 100 секунд. Записи A различаются по длительности, а записи B одинаковы.

ЗаписьДлительность (с)Полные интервалыСредняя частота FPS
A1101 200120
B1504 00080
A2905 40060
B2504 00080

A

Общая частота FPS за полную длительность
66
Среднее арифметическое значений FPS отдельных записей
90

B

Общая частота FPS за полную длительность
80
Среднее арифметическое значений FPS отдельных записей
80

В A содержится 1200 + 5400 = 6600 интервалов: 66 FPS за 100 секунд. В B — 4000 + 4000 = 8000: 80 FPS. Среднее двух показанных значений FPS для A равно 90. Если представить его как общую частоту, A ошибочно окажется выше B.

Какой вывод допустим

За полную длительность искусственные данные дают A 66 и B 80 FPS. Упрощённый результат 90 FPS придаёт одинаковый вес записям очень разной длины.

Что проверить дальше

Если вопрос в общей частоте, суммируйте количество интервалов и длительности. Для сравнения влияния настроек также согласуйте состав сцен, прогрев и метрику записи: правильная арифметика не исправляет несовпадающие условия.

Границы вывода

Среднее FPS отдельных записей отвечает на другой вопрос и само по себе не ошибочно. Его нельзя переименовывать в общую частоту. Эти сводные значения сами по себе не показывают, что B стало причиной улучшения.

Измените способ сводки, сохранив записи

На одних и тех же искусственных данных сравните расчёт за полную длительность с упрощением из каждого случая. Меняется только сводка. Записи и их условия остаются прежними.

Полезный вывод может содержать неопределённость

Из этих данных следует: «Оба примера дают в среднем 100 FPS, но рисунок интервалов различается». Вывод «Этот ПК будет восприниматься плавным» из них не следует. В своих прогонах сохраняйте настройки только после проверки повторных сопоставимых измерений и того ощущения, которое хотели улучшить.

Чего не показывает это упражнение

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