Gå til indhold

Sådan beregnes score

På denne side

PC Score kombinerer hastighed, latenstid og jævnhed til ét dimensionsløst indeks. Det kan ikke direkte konverteres til FPS eller «procentvis acceleration af Windows». Nedenfor beskrives modellen score-model-1.2-candidate-1 for motoren 0.5.2. Betingelserne, hvorunder de oprindelige målinger opnås, er beskrevet i metodikken.

Inde i en blok beregnes gennemstrømningen ud fra antallet af gyldige poster og forskellen mellem tidspunkterne for den første og den sidste post:

throughput = (N_valid − 1) × QPC_frequency / (last_QPC − first_QPC)

For tre gentagelser af samme belastning tages gennemsnittet af blokkenes throughput. I stedet bør man ikke tage den samlede faselinje, hvor én blok blander scenarier fra forskellige tidspunkter.

CPU-frametid: varigheden af CPU-arbejdet. For GPU og Combined beregnes frameintervallerne mellem tilstødende egne GPU-timestamps for arbejdets start. Varigheden af selve GPU-arbejdet mellem start og slutning registreres separat.

Positive latenstider fjernes ikke, selv om de forværrer tallet. Forkerte tidsstempler markeres separat. Hvis en måling mangler, forbliver den unavailable, og der indsættes ikke et nul.

For selve beregningen gælder en anvendelighedsregel: ikke-positive, manglende, NaN og uendelige kritiske input afviser scoringen helt. Værdierne clampes ikke og erstattes ikke med grænseværdier — modellen har ingen «justerede» input.

For sorterede værdier bruges lineær interpolation Hyndman-Fan Type 7:

h = (n − 1) × p
i = floor(h)
percentile = x[i] + (h − i) × (x[min(i + 1, n − 1)] − x[i])

Indekset starter ved nul. P50 svarer til medianen; P99 viser grænsen, under hvilken cirka 99% af observationerne ligger.

  • 1% Low = 1000 / P99 af frametiden i millisekunder; der kræves mindst 100 intervaller.
  • 0,1% Low = 1000 / P99,9; der kræves mindst 1 000 intervaller.

Disse størrelser er omvendte percentiler af tiden, ikke den gennemsnitlige FPS for den dårligste procentdel af frames. Ved en anden definition af Low FPS kan tallene på de samme data afvige.

Derudover beregnes gennemsnit, minimum, maksimum, P90, P95, standardafvigelse med division med n, medianens absolutte afvigelse og variationskoefficient.

For hastighed gælder «jo højere, jo bedre», så den normerede størrelse er измерение / эталон. For latenstid og forholdet mellem hale og median gælder «jo lavere, jo bedre», så der bruges эталон / измерение.

Vægtet geometrisk gennemsnit:

G(x, w) = exp(Σ(w × ln(x)) / Σw)

Det kombinerer målingernes forhold til referencerne, så forskellige måleenheder ikke lægges sammen. Hver komponents indflydelse afhænger af dens vægt: en fordobling af én af dem fordobler ikke det endelige resultat.

Referencen er et fast sæt konstanter til normering, her kaldet provisional-dev-reference-2026-08-21. Det er ikke «markedets gennemsnit» og ikke en branchestandard. Ved fuld overensstemmelse med referenceværdierne er det endelige indeks 10 000.

Scenarie Reference-throughput, betingede frames/s
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)

I disse to formler er argumenterne afbalancerede. I Performance er CPU’s og Combined’s bidrag ens (hver en tredjedel), og hvert af de tre GPU-scenarier giver hver en niendedel i den logaritmiske del.

P50, P95 og P99 for den interne latenstid fra softwaresignalet til afslutningen af GPU-arbejdet bruges.

Scenarie P50, ms P95, ms P99, ms
Baseline 2,5 4 6
Loaded 9 12 16

For hvert scenarie beregnes G(эталон P50 / P50, эталон P95 / P95, эталон P99 / P99) med vægtene 50/30/20. Derefter:

Core Latency Score = 10000 × G(Baseline, Loaded; vægte 40/60)

Pointene stiger, når latenstiden falder. Selve målingen i millisekunder er derimod bedre ved en lavere værdi.

Komponenten ser på forholdet P99 / P50 og viser, hvor kraftig latenstidens hale er i forhold til den typiske tid. Det er ikke en metrik for repeterbarhed mellem enkelte kørsler.

Input Reference 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

For hvert input beregnes эталон / измеренное отношение, derefter tages det geometriske gennemsnit af de fem værdier med lige vægte, og det ganges med 10 000. I den nuværende model tages GPU-halen fra Shader og ikke fra den samlede blanding af Geometry, Shader og Compute.

PC Score = 10000 ×
(Performance / 10000)^0.50 ×
(Core Latency Score / 10000)^0.30 ×
(Consistency / 10000)^0.20

Vægtene 50/30/20 er fastsat i metodikken. De betyder ikke en universel andel for CPU, GPU og latenstid for alle spil. Når man sammenligner resultater, bør man derfor både se på den komponentvise opdeling og på de oprindelige målinger.

Til følsomhedsanalyse beregner motoren også varianterne med vægtene 60/20/20 og 40/40/20. Derudover udlæses en analytisk følsomhed for hvert bladinput: det endelige point ved en afvigelse af dette input på +1, +5 og +10%. De hjælper med at vise indflydelsen af valget af vægte og enkelte input, men erstatter ikke den primære vurdering.

I kontrollen af otte kørsler er alle fire vurderinger genberegnet ud fra de gemte opsummerede målinger. Afvigelsen var mindre end 0,000001 point. En sådan genberegning kontrollerer modellens aritmetik. Genberegningen kan ikke gøre en uanvendelig optagelse anvendelig: annullerede, ufuldstændige og diagnostiske kørsler forbliver uanvendelige ved enhver efterbehandling. Timernes nøjagtighed og repeterbarheden på hardwaren kræver separate kontroller.

Verificeret: 2026-09-20.