Co a jak nastavit
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.
Aplikaci je nejlépe spouštět z příkazového řádku, měli byste ji spustit s oprávněním administrátora.
Stručnou nápovědu můžete zobrazit přímo v příkazové řádce příkazem flm -help.
c:\flm>flm -help Frame latency meter v1.0.0 command line options === How to run a test === Step 1: Configure your primary monitor to run the game on. Set the monitor to use free sync or have it set to an appropriate refresh rate. Step 2: Run flm.exe when you press the right Alt key, you should see a yellow capture region box. Step 3: Run the game Adjust the game scene placement so that the FLM capture region is situated in an area where the scene transitions from dark to bright when the mouse is moved horizontally. Note: The bounding box will only show if the game is running in window mode. Step 4: Select start measurements key sequence (default is ALT+T) Wait for the capture process to start, it may take a few seconds to start as FLM process data you should see the mouse move left and right in rapid concession while the application records latency measurements.Some games may require you to press down on the mouse keys to move the mouse left and right. Console output will show the running latency and frame latency when FLM detects a change RUN: .|.. FPS xx.xx, Latency xxx.x ms, x.xx frames A running series of dots and a vertical bar will indicate at what rate these latency measurements are occurring. Step 5: Select stop measurements and review the console outputs values. Starting measuring RUN: .... FPS xx.xx, Latency xxx.x ms, x.xx frames Stopped measuring === How to change the capture codec for a test === Running flm.exe with no command line option, will auto detect the systems vendor and GPU, then it will select the best capture codec to use. if you want to override this feature, simply specify the capture codec to use in the command line. Capture codec options: -AMF : Capture frames using AMF codec (Default option, works only for AMD GPU's) -DXGI : Capture frames using DXGI codec (Works on any GPU connected to main display) Runtime options: -FG : Use this flag when measurements are for games with frame generation enabled. Example usage: flm.exe -DXGI Will use the desktop capture codec, which will run on any GPU supported by DX11 For more details on this amd more see the users guide. c:\flm>
Jenom v rychlosti výtah z vestavěné nápovědy výše v češtině:
- Nastavte monitor, na němž běží hra, jako primární a zapněte na něm FreeSync nebo nastavte odpovídající obnovovací frekvenci.
- Spusťte flm.exe (jako správce). Při běhu hry po stisknutí pravého Alt uvidíte žlutou oblast, kterou bude nástroj zachytávat (pozn. na regionální klávesnici nefunguje, protože má pravý Alt funkci AltGr)
- Spuštění hry:
- Nastavte pohled ve scéně tak, aby oblast pro zachytávání překrývala část, na níž se bude při simulovaném pohybu myši střídat světlá a tmavá plocha.
- Měření latence:
- Stiskněte klávesovou zkratku pro zahájení měření (výchozí je Alt+T).
- Počkejte několik sekund na spuštění procesu. FLM zaznamenává latenci během pohybu myši vlevo a vpravo. Výstup v konzoli ukáže aktuální latenci a FPS.
- Zastavení měření:
- Zvolte příkaz pro ukončení měření a zkontrolujte hodnoty výstupu v konzoli.
Volby pro změnu kodeku pro zachytávání:
- Bez argumentů: FLM automaticky detekuje výrobce systému a GPU a vybere nejlepší kodek.
- -AMF: Používá AMF kodek (pouze pro AMD GPU).
- -DXGI: Používá DXGI kodek (funguje na všech GPU připojených k hlavnímu displeji).
- -FG: Použijte tuto volbu pro hry s aktivovanou generací snímků.
Příklad užití:
flm.exe -DXGI
Před testováním projděte i konfigurační .ini
V souboru .ini je těch nastavení mnohem více. Jsou v něm detailně okomentované, níže je pro představu pouze seznam klíčů, které v něm najdete. Z toho je asi jasné, že naučit se nastavit FLM a něco s ním správně naměřit nebude na hodinku.
- InitAMFUsingDX12: Použití DX12 místo DX11 (výchozí).
- PrintLevel: Úroveň výpisu (0-3, různé režimy měření, běžné měření, akumulované, všechna měření na řádek, debug).
- AppWindowTopMost: Nastaví okno konzole FLM na „vždy nahoře“ (true/false).
- GameUsesFrameGeneration: Přidává časové prodlevy při měření s využitím frame generation (true/false).
- MinimizeApplication: Minimalizace aplikace během měření (true/false).
- MouseEventType: Jaký režim myši bude využitý pro měření (0: pohyb, 1: kliknutí).
- MonitorCalibration_xxx: Kalibrační hodnota latence monitoru pro obnovovací frekvence (240Hz, 144Hz atd.).
- AutoBias: Automatická kalibrace biasu (true/false), výchozí je true, je li aktivní, ignoruje nastavenou kalibraci monitoru.
- ThresholdCoefficientMove: Koeficient prahu pro pohyb myši.
- ThresholdCoefficientClick: Koeficient prahu pro kliknutí myši.
- AppExitKeys: Klávesová zkratka pro ukončení aplikace.
- CaptureFileKeys: Klávesová zkratka pro uložení snímku.
- ExtraWaitMilliseconds: Jak dlouho čekat po detekci pohybu myši před zahájením dalšího měření (výchozí 10 ms).
- ExtraWaitMillisecondsFG: Totéž, ale s aktivním frame generation (výchozí 20 ms).
- ExtraWaitFrames: Počet dodatečných snímků, která brání zdvojení frekvencí či potížím s motion blur (výchozí 1 sn.)
- ExtraWaitFramesFG: Totéž, ale s aktivním frame generation (výchozí 3 sn.)
- MeasurementsPerLine: Počet měření na řádek pro získání průměrné hodnoty (výchozí 16)
- MeasurementKeys: Klávesová zkratka pro spuštění/ukončení měření.
- MouseHorizontalStep: Horizontální posun myši (výchozí 50 pixelů).
- NumDequantizingPhases: Počet fází pro dekvantizaci.
- OutputFile: Název souboru pro uložení měření (ukládá se do adresáře s flm.exe, výchozí je FLMlatency.csv).
- SaveToFile: Ukládání měření do souboru (true/false).
- ShowBoundingBox: Zobrazení oblasti snímání (true/false).
- ShowAdvancedMeasurements: Zobrazení pokročilých měření (true/false).
- ValidateCaptureKeys: Klávesová zkratka testy rychlosti snímání do souborů BMP.
- ValidateCaptureNumOfFrames: Počet snímaných snímků (BMP).
- Codec: Kodek pro zachytávání (AUTO/AMF/DXGI).
CAPTURE
- StartX: Počáteční X souřadnice oblasti snímání.
- StartY: Počáteční Y souřadnice oblasti snímání.
- CaptureWidth: Šířka oblasti snímání (relativní k šířce obrazovky).
- CaptureHeight: Výška oblasti snímání (relativní k výšce obrazovky).
- CaptureFile: Název souboru pro uložení snímku.
- AVGFilterFrames: Počet snímků pro dosažení 1% stabilní hodnoty.
- FilmGrainThreshold: Práh pro efekt filmového zrna.
Na první pokus asi není nutné, abyste studovali všechna nastavení, podstatné bude spíše soubor .ini v rychlosti proběhnout, zda není některé z výchozích nastavení v rozporu s tím, na čem a co chcete měřit, a můžete to zkusit.
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