Proč je měření latence důležité
Snímková frekvence bylo dlouho jedinou metrikou pro srovnávání výkonu ve hrách. I při plynulých snímkových frekvencích ale může být hraní nepříjemné, pokud je cítit výrazný velký input lag – hra reaguje na ovládání s citelným zpožděním. Na měření snímkových frekvencí existuje nespočet nástrojů, pro otestování odezvy bohužel ne. Představíme si specializovaný Frame Latency Meter, který nedávno nabídlo AMD.
Zatímco ve hrách pro jednoho hráče se hráči obvykle chtějí hrát s co nejvyššími grafickými detaily, v kompetitivních hrách je tomu spíš naopak. Mají k tomu více důvodů – snížením grafických detailů dosahují vyšší snímkové frekvence (FPS), s vyšší snímkovou frekvencí se snižuje latence, a nižší detaily odstraňují vizuální efekty a objekty, které není nezbytné zobrazovat, což výrazně zjednoduší scénu, takže se na lze lépe zorientovat.
Vyšší snímková frekvence znamená plynulejší animace. Změny mezi snímky jsou menší, což umožňuje hráčům lépe sledovat rychle se pohybující objekty a přesněji reagovat na změny ve scéně. Díky menším rozdílům mezi snímky jsou také pohyby postav nebo projektilů zřetelnější a jejich pohyb je předvídatelnější, což je klíčové pro to, abyste mohli přesněji zamířit, nebo se vyhnout útokům.
Nižší latence jsou důležité proto, že snižují časovou prodlevu mezi vstupem hráče (například stisknutím klávesy nebo kliknutím myší) a okamžikem, kdy se reakce hry promítne na obrazovku. Díky tomu může hráč reagovat rychleji na změny, které se na ní odehrávají a reakce hry působí přirozeněji.
Dá se to vůbec poznat?
Běžná lidská reakční doba na vizuální podněty se pohybuje mezi 200 až 250 milisekundami. U zkušených hráčů, kteří si reakce trénují, může být tato doba i o něco kratší, obvykle kolem 150-200 milisekund. Mohlo by se tedy zdát, že není tak podstatné, jestli má hra odezvu čtyřicet nebo dvacet milisekund, protože takový rozdíl není možné lidskými smysly rozpoznat.
V přirozeném prostředí je však reakce prostředí okamžitá, což je něco, co lidský mozek očekává. Každá prodleva navíc způsobí, že hráč ztrácí pocit přesné kontroly nad děním. Přestože je rozdíl mezi 40 ms a 20 ms příliš na to, abyste jej vědomě rozlišili, pro mozek představuje významný rozdíl v synchronizaci mezi vstupy a výstupy.
Dlouhá odezva ve hře se projevuje tím, že reakce postavy nebo vozidla, které ovládáte, je opožděná. To vede k pocitu, že je hra líná, nebo že ovládání plave. V praxi to znamená, že rychlé změny směru, úhyby před útokem nebo přesné míření jsou složitější a často se stává, že na dění zareagujete pozdě.
S trochou cviku se naučíte prodlevu částečně kompenzovat tím, že o něco dříve stisknete klávesu či pohnete myší, ale při rychlých změnách ve scéně roste i pravděpodobnost, že na očekávané dění nezareagujete adekvátně.
Projevuje se to třeba tak, že se za běhu netrefíte přesně do dveří, v autě začínáte zatáčet příliš brzo, anebo naopak příliš pozdě, máte problém odhadnout správný okamžik, kdy se odrazit při skoku, nebo že to při míření na cíl, který se pohybuje, létá všude kolem, jen ne do něj.
Proto byste se při optimalizaci systému i nastavení her neměli upínat jen na vysokou snímkovou frekvenci, ale pohlídat si i délku odezvy, jelikož má významný vliv na hratelnost.
Pro měření snímkové frekvence existuje spousta nástrojů. Na zobrazení aktuální snímkové frekvence v překryvném textu vám bude stačit i aplikace k ovladačům od AMD, Nvidie či Intelu. S měřením odezvy je to mnohem komplikovanější.
Základní princip je jednoduchý; stačí zaznamenat čas stisku tlačítka nebo pohybu myši a změřit, za jak dlouho se to projeví na obrazu monitoru. Dá se to i snadno změřit, pokud na to máte potřebná zařízení – vysokorychlostní kameru nebo nástroj pro měření latencí jako Nvidia LDAT či otevřený OSLTT. S těmito nástroji změříte celou odezvu od vstupu myši po zobrazení akce na monitoru – odezvu systému (system latency).
Zdroj: Nvidia.com
Odezvu lze měřit i softwarově. Do celkového času odezvy se pak nepromítne zpoždění na straně ovladače a monitoru (peripheral latency a display latency), ale lze měřit, jak dlouho trvá zpracování a vykreslení snímku v samotném počítači (PC latency).
Nvidia k tomu využívá knihovny Reflex, které jsou integrované ve hrách a jsou schopné zachytit akci myší i zjistit, kdy grafická karta dokreslila snímek. Problém je, že fungují pouze na kartách GeForce a ve hrách s integrovaným Reflexem.
Udělat univerzální aplikaci nejspíš není zcela snadné – můžete sice zachytit pohyb myši, ale už tak snadno nezjistíte, kolik času strávila hra renderingem snímku a kdy onen snímek vykreslí.
AMD přesto nedávno nabídlo alternativu ke specializovaným nástrojům i Reflexu od Nvidie – otevřenou aplikaci Frame Latency Meter. Problém s nemožností nahlížet hře do renderovací pipeline obchází elegantně tak, že k rozpoznání změny využívá API běžně používané pro záznam obrazu. Funguje na grafických čipech všech výrobců, podporuje API DirectX 11 a DirectX 12 a operační systémy Windows 10 a Windows 11.
Na kartách AMD pro snímání obrazovky využívá Advanced Media Framework (AMF), u ostatních karet potom Desktop Duplication (DXGI). S DXGI může potom běžet na libovolné grafice. Výstupem je statistika latencí na snímek v souboru CSV.
Na jakém principu funguje a co umí, si probereme dále…
Moc pekny clanek s vysokym insight ( kdo mi to dokaze smysluplne prelozit ?)
Nicmene softwarove reseni je stale tak nejak zavisle na softwaru a nemusi odpovidat realite, tzn. zmene obrazu.
Bylo by pekne mit na HW cooling ciste HW externi reseni, nastroj ktery meri cas od stisku tlacitka po zmenu na obrazovce. napr. Bylo by udelatko-merak zalozeny na Raspberry dostatecne rychly ?
Takovy merici kit by pak byl replikovatelny, pro zajemce, a metoda by se pak mohla pouzivat jako standard.
Šlo by, ani netřeba vymýšlet. Poměrně dostupné řešení, které vzniklo podobně, je tohle:
https://www.youtube.com/watch?v=76S7GZE8QbA
Je na té fotce v článku, mám ho tady, a plánuji ho použít! 🙂 Akorát ještě musíme něco vymyslet s monitorem, mám tady 4K LCD na 144 Hz, ale na něm v některých režimech synchronizace bliká podsvícení, takže musíme vymyslet, jak se někde dostat k 240Hz OLEDu. O:-)
Ten obrázek je nefunkční, v linku je totiž duplikována doména 😉
Aha, jo, opravené.
parada. tesim se