üzenetek

hozzászólások


janos666
(nagyúr)
Blog

Én viszonylag zöldfülű vagyok a témában, mert az utóbbi pár évben (mióta divatossá vált a frametime grafikon) vagy nem érdekelt semmi (legalább is új, nem "retro") játék, vagy megvettem hozzá egy túlméretes hardware-t, és (viszonylag) nyugodtan játszottam (lassan 30 leszek = túl öreg ahhoz, hogy ilyeneken görcsöljek - hacsak esetleg nem pont ahhoz támad néha kedvem, mint pl. most :DDD).

De most, hogy így belegondoltam, szerintem sokkal értékesebb információ a frametime, mint az fps, mert előbbiből egy-egy folytonos intervallumon bármikor előállítható az adott intervallum legmagasabb értékéig bezáró precizitásra vetített fps értékek is, míg fordítva ez már lehetetlen (legalább is külön CPU-ra és GPU-ra -> lásd később, hogy miért érdekes ez CPU/GPU/vegyes-limit vizsgálatnál...).

Lehet, hogy én vagyok autista, de szerintem egyáltalán nem kell hozzá sok gyakorlat, hogy a nyers frametime grafikont bámulva is "lássam" (gondolatban) azt, amit az fps grafikon mutatna, pontosabban attól többet is.

A probléma ugyan az, mint a fizika alapjaiban a mozgás vizsgálata. Ha nem konstans nulla a gyorsulás (tehát még a gyorsulásváltozás sem nulla, és itt a gyakorlatban egyik egyik sem az), akkor csak egy-egy diszkrét, nullához közelítően rövid időpillanatra lesz érvényes egy valós számként megadott sebesség (itt az f/s az m/s), számunkra pedig gyakorlatilag minden egyes képkocka releváns (míg nem járunk valahol 200-300 fps körül, ahol elkezd teljesen cserbenhagyni az emberi érzékelés), tehát az fps értéket is minden egyes képkocka után újra kell számolni. Ugyanakkor ha ezt a számot nézzük (egyébként célszerűen ugyan úgy egy grafikonon), az laikus emberi szemlélettel számomra megtévesztőbbnek hat, mint ha a nyers framatime értékek (*). Itt jön amúgy elő a gyorsulásváltozás vizsgálata, és talán érdekes megjegyezni, hogy egy mozgó járművön is a gyorsulásváltozást érzi meg leginkább az emberi szemlélő (a sebesség mindegy, a gyorsulás csak "belenyom a székbe", a gyorsulásváltozástól érzed magad "hullámvasúton" és az "próbálja átrendezni a beleidet").

(*)Ha fps értékeket látok, az én "paraszti eszem" elkezd arra asszociálni, hogy ha épp 100 fps van kiírva, akkor azt jelenti, hogy volt 100 darab képkockám a megelőző másodpercben, pedig ez az érték csupán azt jelenti, hogy ha megelőző 100 képkocka mind ugyan olyan gyorsan készült volna el, mint a legutóbbi, akkor lett volna 100 képkockám, de lehet hogy csak 10 volt, vagy 20, vagy 200 vagy 2000 ... ez csak akkor derül ki, ha végignézem a teljes 1 másodpercnyi intervallumot és megszámolom. Ellenben, ha frametime grafikont látok, akkor a "paraszti agy" csak azt keresi, hogy hol üti át a határértékeket, ami a folytonos mozgáshoz kell.

Egyébként ez ugyan úgy értelmezhető arra is, hogy milyen alacsony frametime kell a GPU kiszolgálásához, csak valahogy hozzá kell jutnod a CPU időkhöz, mint amiket például a Frostibe beépített perfoverlay is kirajzol neked. Ez már a konkrét vizsgálataid lehetőségein és korlátain múlik, de elvben nincs gátja a dolognak. Csak egymásra kell tenni a kettőt (CPU és GPU idő) és megnézni, hogy ahol a CPU+GPU együtt túlfutott a határértéken, ott a CPU és GPU közti táv, vagy a zerus és CPU közti táv lőtt-e túl a szomszédos képkockák értékén, és máris látod, hogy nagy valószínűséggel a CPU vagy a GPU miatt "köhögött" a játék (vagy esetleg mindkettő miatt, mert mindkét idő megnőtt, a CPU is, és a CPU-0 és GPU-CPU is).

[ Szerkesztve ]

üzenetek