Poruchy plynulosti pohybu v počítačových hrách
30.10.2015, Pavel Šantrůček, recenze
Už jste někdy slyšeli o poruchách plynulosti pohybu v počítačových hrách? Víte, co jsou to latence, frame times, jak je měřit a vyhodnocovat? Pokud ne, tento článek by Vám neměl uniknout, jelikož je určený právě pro Vás.
Kapitoly článku:
Měření
Abychom byli vůbec schopni měřit poruchy plynulosti pohybu ve hrách, je nezbytně nutné „extrahovat“ z naší počítačové hry či nějaké její části (testovací scény) frame times, tedy časy jednotlivých renderovaných snímků. Je to sice o něco málo pracnější než měření prosté snímkové frekvence, ale věřte, že to většinou opravdu stojí za to.
Frame times ze hry lze získat celkem třemi způsoby
1. Herní engine
Některé herní enginy mají přímo v sobě zabudovanou podporu pro vytváření záznamů frame times do logovacích souborů. V naší testovací metodice je to např. hra Battlefield 4, kde při zadání příkazu do konzole PerfOverlay.FrameFileLogEnable 1 zapisování frame times do log souboru zapnete, nebo naopak příkazem PerfOverlay.FrameFileLogEnable 0 toto zapisování zase vypnete. Samozřejmě jsou i další hry s takovouto podporou zapisování frame times.
2. FRAPS
Asi nejpopulárnějším a nejuniverzálnějším nástrojem pro získávání frame times z počítačových her je FRAPS od společnosti Beepa. Tento nástroj snad není třeba příliš představovat.
Po spuštění aplikace stačí pouze zaškrtnout „Frametimes“, čímž dáte aplikaci povel na logování frame times do logovacího souboru. Pak už jen stačí nastavit čas doby záznamu a zaškrtnout „Stop benchmark after“ v případě, že chcete zaznamenat známý časový úsek.
3. FCAT
Nejpřesnější metodou pro získání záznamu frame times ze hry je zcela určitě nástroj nazvaný FCAT (Frame Capture Analysis Tool), který vznikl za účasti společnosti Nvidia. Ačkoliv se jedná o velmi pozoruhodný nástroj na měření frame times, práce s ním je velmi pomalá a také vstupní investice do tohoto zařízení (speciální grabovací karta, další počítač s rychlým úložištěm pro zaznamenávání videa) jsou neúměrné vysoké. FCAT dnes využívá pouze pár redakcí, a to většinou pouze na měření multi-gpu řešení.
Ať již použijete jakýkoli způsob, vždy budete odměněni logovacím souborem, který bude obsahovat časy renderingu jednotlivých snímků, které byly vytvořeny během vaší testovací scény. Jak vidíte, není na tom nic složitého, ale k radosti je ještě příliš daleko, protože nyní vás bude čekat ten nejobtížnější úkol, což znamená tato surová data nějak zpracovat a vyhodnotit. Pojďme se ale nejdříve podívat, jak byly nebo ještě jsou variabilita snímkové frekvence a stuttering běžně vyhodnocovány.