Takže snad všechny změny v aplikaci dodělány a hotovy. Budu tedy pokračovat v popisu další funkce aplikace FrapsCut
Sekvencer (pokud někoho napadne lepší název, dejte vědět)
Pokud budeme věřit
teorii, pak u průměrného člověka dochází ke ztrátě vnímání iluze plynulého pohybu někde od 50Hz (20ms). To znamená, že abyste u hry (filmu) vnímali pohyby plynule, musí být každou 20ms-tinu vykreslen na obrazovku minimálně jeden nový snímek (do sekundy pak 50 snímků). Samozřejmě je to individuální záležitost, někdo má vnímání citlivější (více jak 50Hz) a u někoho je to zas posunuto níže (pod 50Hz).
Pokud bychom tedy průběh hry (nebo filmu) časově rozkrájeli na malinké časové úseky (time slice) blízké hranici vnímání plynulého pohybu onoho "průměrňáka" - tedy 20ms, mohli bychom pak zkoumat, zda každý tento malinký úsek (time slice) obsahuje (nebo neobsahuje) alespoň jeden snímek. Pokud ne, iluze plynulého pohybu byla v okolí této time slice ztracena.
Sekvencer tedy nedělá nic jiného než to, že "rozseká" časový úsek měření na malinké sekvence (time slice) a zkoumá, kolik snímků každá tato time slice obsahuje. Velikost time slice je volitelný parametr.
Příklad gpu1:
Naměřené latence snímků: 17, 15, 20, 19, 30, 16, 18, 20, 15, 8, 22 = 200ms (celkem 11 snímků)
Při velikosti sekvence = 20 ms pak obdržíme celkem 10 time slices (200 / 20)
Snímky byly vykresleny v následujících časech:
1 - 17ms
2 - 32ms (17+15)
3 - 52ms (17+15+20)
4 - 71ms (17+15+20+19)
5 - 101ms (17+15+20+19+30)
...... atd.
Přiřadíme-li časy snímků do intervalů time slice vznikne následující:
Time slice (
počet snímků)
0-20 (
1)
20-40 (
1)
40-60 (
1)
60-80 (
1)
80-100 (
0)
100-120 (
1)
120-140 (
1)
140-160 (
1)
160-180 (
2)
180-200 (
1)
Příklad gpu2:
Naměřené latence snímků 17, 25, 10, 29, 20, 32, 10, 12, 26, 6, 13 = 200ms (celkem 11 snímků)
Při velikosti sekvence = 20 ms pak obdržíme celkem 10 time slices (200 / 20)
Snímky byly vykresleny v následujících časech:
1 - 17ms
2 - 42ms (17+25)
3 - 52ms (17+25+10)
4 - 81ms (17+25+10+29)
...... atd.
Přiřadíme-li časy snímků do intervalů time slice vznikne následující:
Time slice (
počet snímků)
0-20 (
1)
20-40 (
0)
40-60 (
2)
60-80 (
0)
80-100 (
1)
100-120 (
1)
120-140 (
1)
140-160 (
2)
160-180 (
0)
180-200 (
3)
Vidíte, že obě gpu vyrenderovaly ve stejném časovém úseku stejný počet snímků - průměrné latence (nebo fps) jsou tedy stejné u obou gpu. První gpu ale obsahuje pouze jednu time slice obsahující nulu což značí, že iluze vnímání plynulosti pohybu byla ztracena pouze jednou. U druhého gpu pak celkem třikrát.
Sekvencer - sumarizace

Tento graf pouze sumarizuje výsledek sekvenceru.
Účelem sekvenceru je tedy zjistit chování gpu při frekvencích blízkých vjemu lidského oka nebo také refreh rate monitoru. Pomocí sekvenceru pak můžeme analyzovat třeba vliv zapnutého vsync nebo přínos adaptivního vsync ve hrách. Atd.
Nová verze:
1. Doplněn Sekvencer
2. Doplněno měřítko zobrazení (Scale View)
3. Doplněno nastavování rozsahů os X a Y
4. Opraveny některé chyby
Stahovat můžete zde >>
PS: Tomáš Šulc autor recenze
GTX660 vs HD7870 dal souhlas ke zveřejnění výsledků (frametimes) z jeho článku. Kdo tedy bude mít zájem, může si je stáhnout a výsledky si ověřit doma sám
Stahovat můžete zde >>