Co se měří
Časy snímků ze hry, kterou zrovna hraješ, čtené přímo z grafického zásobníku, ne z překryvu zavěšeného do hry. Spustíš záznam, normálně hraješ, záznam zastavíš.
Že jde o tvoji vlastní hru, je podstatné. Syntetická scéna ti řekne, jak si stroj poradí s touhle scénou; nemůže ti říct, jestli ti hra trhá zrovna na tom místě, kde trhá vždycky.
Ta čísla
| Číslo | Co ti říká |
|---|---|
| Průměrné FPS | nejméně užitečný údaj tady. Dva stroje se stejným průměrem se můžou chovat úplně jinak. |
| 1% low | nejhorší procento snímků. Přesně tohle vnímáš jako trhání — vysoký průměr se špatným 1% low je klasické „hodně FPS, a stejně to není ono“. |
| Frametime | stejná data v milisekundách. 16,7 ms je 60 FPS, 6,9 ms je 144. |
Čti lows, ne průměr. Posun z průměru 200 na 210 nezmění nic, co bys ucítil. Posun z 90 na 140 v 1% low mění všechno.
Jak dva běhy porovnat poctivě
- Stejná hra, stejná mapa, stejná nastavení, stejná délka běhu.
- Mezi běhy změň jednu věc. Když změníš tři, srovnání ti neřekne nic o tom, která z nich zabrala.
- Hraj stejně. Běh strávený koukáním do zdi a běh strávený v přestřelce se porovnat nedají.
Co se nepočítá
Snímky, které hra vykreslí, když není v popředí, se nepočítají: sekundy mezi spuštěním záznamu a přepnutím do hry, sekundy poté, co se přepneš zpět a záznam zastavíš, každý alt-tab mezi tím a první sekunda po návratu hry do popředí. Hra na pozadí často kreslí jen zlomkem své běžné rychlosti a už samotné tyto snímky mohou určit 1% low. Výsledek uvádí, kolik sekund zůstalo stranou, a záznam uložený starší w0a, která je ještě počítala, se s novějším neporovnává.
Proč se čísla mezi běhy hýbou
Vždycky se hýbou. Teploty, práce na pozadí, kudy jsi šel, co dělali ostatní hráči. Pár procent mezi dvěma běhy je normální a není to důkaz ničeho. Pokud je změna skutečná, projeví se opakovaně — a projeví se v lows.
Po aktualizaci ovladače nebo hry
Dvojice běhů pořízených na obou stranách aktualizace hry se nehodnotí: stránka uvede obě verze a rozdíl nechá bez barvy, stejně jako už to dělá při změně ovladače. Patch mění to, co dělá samotná hra, takže žádný rozdíl přes aktualizaci nejde přičíst nastavení. w0a čte verzi z vlastních souborů Counter-Strike 2; u ostatních her se porovnává jen ovladač.
První zápas po aktualizaci ovladače nebo hry může kompilovat shadery, které už mezipaměť nemá. Když první běh po nejnovější aktualizaci vyšel hůř než další běh na stejných verzích, a to o víc než vlastní šum obou běhů, říká to poznámka pod výsledky. Jestli příčinou byla kompilace shaderů, se neměří; poznámka říká jen, že to k sobě sedí. Když se oba běhy neliší, poznámka tam není. Po aktualizaci si proto před měřením zahraj jeden zápas a nastavení porovnávej až od druhého běhu.
Rozhodnutí sérií A/B
Jeden běh na každé straně malou změnu od tohoto kolísání neodliší. Série A/B porovnání opakuje, dokud to nejde. Co je A a B, rozhoduješ ty (například A: motory vypnuté, B: zapnuté); w0a sama žádné nastavení nemění.
- Nejdřív pilot. Stiskni Spustit pilot a změř stejnou scénu desetkrát, aniž bys cokoli měnil. Pilot změří, jak moc se tvůj 1% low hýbe z běhu na běh sám od sebe, a z toho nejmenší rozdíl, který série dokáže zachytit. Platí pro stejnou hru na stejném hardwaru.
- Potom série. Stiskni Spustit sérii A/B. Před každým záznamem stránka řekne, kterou stranu měřit, v pořadí A B B A, stále dokola. Přepni na to nastavení, zahraj stejnou scénu, zastav záznam. Každé B se porovná s A změřeným hned vedle, takže pomalé zahřívání stroje během večera se vyruší.
- Každý běh je stejná scéna a trvá aspoň 100 sekund. První běh po spuštění hry smaž: mezipaměti se teprve zahřívají.
- Verdikt se dává jen z 1% low, jakmile je aspoň šest použitelných párů (osm je lepší); ostatní řádky jsou pro informaci. Musí se shodnout tři odpovědi: znaménkový pořadový test, 95% interval mediánu rozdílu, který nezahrnuje nulu, a rozdíl aspoň tak velký jako nejmenší, který série dokáže zachytit. Bez pilotu, nebo bez deseti běhů A v sérii, které ho zastoupí, se rozdíl ukáže, ale nevyhlásí.
- „V rámci šumu" je také výsledek: změna nepohnula low hodnotami víc, než se hýbou samy.
Pár, který by srovnávací karta sama neposoudila (krátký běh, ztracené události, motor měnící stav, jiný hardware), se nepočítá a série uvede, kolik jich vynechala. Až skončíš, stiskni Ukončit sérii; její výsledek na stránce zůstane.
Jak dlouho hra čekala na procesor
Pod seznamem dlouhých intervalů mezi snímky čte karta po krátké okno vlastní záznamy plánovače jádra, jakmile hra už nějakou dobu vykresluje snímky: jak dlouho vlákna hry čekala mezi připraveností běžet a přidělením procesoru a které jiné programy procesor mezitím držely. Potřebuje práva správce a okno, ve kterém jádro ztratilo události, neukáže žádnou hodnotu místo chybné. Při dvou vybraných bězích řekne, zda se čekání posunulo víc než vlastní rozptyl oken.
Stejná karta uvádí procesor, na kterém nejvytíženější vlákno hry (brané jako hlavní vlákno) běželo nejvíc, a čas odložených volání procedur (DPC) změřený tam, kde běželo, vedle průměrného procesoru. Série přidá jeden řádek: zda v bězích se stejným nastavením (pilot nebo strana A) tento čas DPC a trhání stoupaly a klesaly spolu. Popisuje jen souběh; co způsobuje co, změřeno není.
Uložené běhy jdou do skenu trhání
Běhy, které uložíš, používá sken trhání jako důkaz: snímky měřitelně pomalejší než snímky kolem nich se tam objeví jako vlastní nález vedle možných příčin. Uložený běh ze hry, která trhá, je ten nejpřímější důkaz, jaký mu můžeš dát.
Související
Pomohla ti tahle stránka?
Co chybělo, nebo co nefungovalo? Čteme každou jednu takovou zprávu.
Jestli tahle stránka problém nevyřešila, napiš nám — uveď, který článek jsi četl, a my ten článek opravíme.