Как рассчитываются баллы
На этой странице
PC Score склеивает скорость, задержку и равномерность в один безразмерный индекс. Его нельзя напрямую конвертировать в FPS или «процент ускорения Windows». Ниже описана модель score-model-1.2-candidate-1 для движка 0.5.2. Условия, в которых получаются исходные метрики, описаны в методике.
Исходные метрики
Заголовок раздела «Исходные метрики»Внутри блока пропускная способность вычисляется по числу валидных записей и разнице времён первой и последней записи:
throughput = (N_valid − 1) × QPC_frequency / (last_QPC − first_QPC)Для трёх повторов одной нагрузки берётся среднее throughput блоков. Вместо этого не стоит брать общую строку фазы, где в одном блоке смешаны сценарии из разных моментов времени.
Время CPU-кадра: длительность CPU-работы. Для GPU и Combined интервалы кадров вычисляются между соседними собственными GPU timestamps начала работы. Длительность самой GPU-работы между началом и концом записывается отдельно.
Положительные задержки не убираются, даже если они портят число. Неправильные временные метки выделяются отдельно. Если метрики нет, она остаётся unavailable, ноль туда не подставляется.
Для самого расчёта действует правило пригодности: неположительные, отсутствующие, NaN и бесконечные критические входы отклоняют скоринг целиком. Значения при этом не клампятся и не заменяются граничными — «подправленных» входов у модели нет.
Перцентили и Low FPS
Заголовок раздела «Перцентили и Low FPS»Для отсортированных значений используется линейная интерполяция Hyndman-Fan Type 7:
h = (n − 1) × pi = floor(h)percentile = x[i] + (h − i) × (x[min(i + 1, n − 1)] − x[i])Индекс начинается с нуля. P50 соответствует медиане; P99 показывает границу, ниже которой лежит примерно 99% наблюдений.
- 1% Low = 1000 / P99 времени кадра в миллисекундах; требуется не менее 100 интервалов.
- 0,1% Low = 1000 / P99,9; требуется не менее 1 000 интервалов.
Эти величины — обратные перцентили времени, а не средний FPS для самого плохого процента кадров. При другом определении Low FPS цифры на тех же данных могут отличаться.
Дополнительно рассчитываются среднее, минимум, максимум, P90, P95, стандартное отклонение с делением на n, медианное абсолютное отклонение и коэффициент вариации.
Нормирование и геометрическое среднее
Заголовок раздела «Нормирование и геометрическое среднее»Для скорости «больше лучше», поэтому нормированная величина равна измерение / эталон. Для задержки и отношения хвоста к медиане «меньше лучше», поэтому используется эталон / измерение.
Взвешенное геометрическое среднее:
G(x, w) = exp(Σ(w × ln(x)) / Σw)Оно объединяет отношения измерений к эталонам, поэтому разные единицы измерения не складываются. Влияние каждого компонента зависит от его веса: удвоение одного из них не удваивает итоговый результат.
Эталон — это фиксированный набор констант для нормирования, здесь он называется provisional-dev-reference-2026-08-21. Это не «средний рынок» и не отраслевой стандарт. При полном совпадении с эталонными значениями итоговый индекс равен 10 000.
Performance
Заголовок раздела «Performance»| Сценарий | Эталон throughput, условных кадров/с |
|---|---|
| CPU | 4 000 |
| Geometry | 740 |
| Shader | 360 |
| Compute | 7 600 |
| Combined | 665 |
GPU = G(Geometry / 740, Shader / 360, Compute / 7600)Performance = 10000 × G(CPU / 4000, GPU, Combined / 665)В этих двух формулах аргументы уравновешены. В Performance вклад CPU и Combined одинаковый (по одной трети), а каждый из трёх GPU-сценариев даёт по одной девятой в логарифмической части.
Core Latency
Заголовок раздела «Core Latency»Используются P50, P95 и P99 внутренней задержки от программного сигнала до завершения GPU-работы.
| Сценарий | P50, мс | P95, мс | P99, мс |
|---|---|---|---|
| Baseline | 2,5 | 4 | 6 |
| Loaded | 9 | 12 | 16 |
Для каждого сценария вычисляется G(эталон P50 / P50, эталон P95 / P95, эталон P99 / P99) с весами 50/30/20. Затем:
Core Latency Score = 10000 × G(Baseline, Loaded; веса 40/60)Баллы растут при снижении задержки. Само измерение в миллисекундах, наоборот, лучше при меньшем значении.
Consistency
Заголовок раздела «Consistency»Компонент смотрит на отношение P99 / P50 и показывает, как сильный хвост задержек относительно типичного времени. Это не метрика повторяемости между отдельными запусками.
| Вход | Эталон P99/P50 |
|---|---|
| CPU frame time | 1,20 |
| Shader frame time | 1,15 |
| Combined frame time | 1,20 |
| Baseline Core Latency | 2,40 |
| Loaded Core Latency | 16/9 |
Для каждого входа считается эталон / измеренное отношение, затем берётся геометрическое среднее пяти значений с равными весами и умножается на 10 000. В текущей модели GPU-хвост берётся из Shader, а не из общего мешка Geometry, Shader и Compute.
Итоговый PC Score
Заголовок раздела «Итоговый PC Score»PC Score = 10000 × (Performance / 10000)^0.50 × (Core Latency Score / 10000)^0.30 × (Consistency / 10000)^0.20Веса 50/30/20 заданы внутри методики. Они не означают универсальную долю CPU, GPU и задержки для всех игр. Поэтому сравнивая результаты, надо смотреть и на компонентный разбор, и на исходные метрики.
Для анализа чувствительности движок также вычисляет варианты весов 60/20/20 и 40/40/20. Дополнительно для каждого листового входа выводится аналитическая чувствительность: итоговый балл при отклонении этого входа на +1, +5 и +10%. Они помогают увидеть влияние выбора весов и отдельных входов, но не заменяют основную оценку.
В проверке восьми запусков все четыре оценки пересчитаны из сохранённых сводных метрик. Расхождение составило менее 0,000001 балла. Такой пересчёт проверяет арифметику модели. Пересчёт не может превратить непригодный захват в пригодный: отменённые, неполные и диагностические запуски остаются непригодными при любой повторной обработке. Точность таймеров и повторяемость на оборудовании требуют отдельных проверок.
Проверено: 2026-09-20.
