Za lepší hratelností her aneb čím více FPS, tím lépe

Trend neustálého zvyšování fillrate, tedy maximálního možného počtu bodů zobrazeného za sekundu na obrazovce, pokračuje. Má to zcela prostý důvod – vyšší počet vykreslených snímků za sekundu zvyšuje nejen plynulost hry, ale hlavně, a to je důležité, hratelnost. Proč tomu tak je, se dozvíte v tomto článku.
O tom, kolik by hra měla mít snímků za sekundu, se vedou vášnivé diskuse od dob uvedené akcelerátoru Voodoo Graphics. Každá novinka slibuje vyšší výkon než měli její předchůdci, žádná taková novinka však dlouho nevydrží na trhu příliš dlouho; přijdou další a další, kteří slibují daleko více. Výkon karet totiž automaticky dorovnávají tvůrci her. Řeknou si "ejhle, je tu Voodoo5, takže můžeme vytvářet scény s dvojnásobným počtem polygonů." A staré karty rázem nestačí, a nové tak tak. Jsou tedy hlavním hnacím kolečkem zvyšování výkonu tvůrci her, kteří dorovnávají výkon grafických karet, nebo výrobci karet, kteří dorovnávají nároky her? Oba - stačí aby jeden z nich zastavil a po určitém čase se zastaví i ten druhý. Nebudou-li hry dostatečně rychlé, a tedy hratelné, na současných grafických kartách, budou se hry zjednodušovat, přizpůsobí se aktuálnímu výkonu karet. Naopak, budou-li stačit nárokům her staré, běžné karty, nikdo si ty nové "hypervýkonné" nekoupí, a výrobci hardwaru budou s výkonem novinek stagnovat. Naneštěstí ani jeden z těchto trendů však není realitou, takže si budeme zvyknout na rostoucí nároky her na počítačový hardware (nejen grafické karty) obecně a přizpůsobit se. Bohužel přizpůsobení znamená každý rok novou grafiku, v horším případě procesor, paměť, disk apod. Hry se stanou docela drahým koníčkem - podívejte se na cenu GeForce 256 DDR nebo Rage Fury MAXX, nemluvě o novinkách Radeon 256 nebo Voodoo5. Pokud stále není někomu jasné, proč se tak honíme za výkonem, a tedy vyšším počtu snímků za sekundu (FPS) ve hrách, možná vám leccos objasní tento článek.

Když v roce 1997, v dobách legendárního čipu Voodoo Graphic, kterému postačovaly 4 MB paměti, dosáhla hra výkonu 30 snímků za sekundu, byl to velký úspěch. Tehdejší 3D-hry hrála většina hráčů bez grafického akcelerátoru, tj. používala softwarové renderování - veškerou práci odnesl procesor, takže si mohli nechat zdát o rozlišení 640 x 480 a filtrování textur, což Voodoo Graphics bez problému zvládal. A dnes? Hry běhají ve dvojnásobném rozlišení a dvakrát i vícekrát rychleji a 30 snímkům za sekundu se každý směje. Takže přichází logická otázka: Kolik snímků za sekundu je tedy potřeba pro plynulé hraní?

Proč je 30 snímků málo

Hodně hráčům již zmíněných 30 snímků postačí, jsou spokojeni a určitě neuvažují o koupi nové a rychlejší grafické kartě, popř. o upgrade procesoru. Mnoho z nich argumentuje velmi logicky tím, že film v televizi má pouhých 24 snímků a přesto je plynulý, proto tedy musí jakýkoliv vyšší počet snímků za sekundu ve hře stačit. I když to vypadá rozumně, není to tak docela pravda; a to hned z několika důvodů.

Asi nejdůležitějším prvkem je rozostření pohybu, efekt, kterého se ve filmech hojně využívá k dosažení plynulosti rychlého pohybu. Nejrychlejší objekt na filmovém políčku je tak rozostřen ve směru pohybu - pokud si takový film zastavíte a budete se dívat na jediné políčko, uvidíte, že nejrychlejší prvek, např. rychle jedoucí auto, je rozmazáno. Díky tomu, pokud film pustíte, bude se auto na obrazovce pohybovat tak plynule, jak má, a tedy stačí oněch 24 snímků. Je totiž využíváno toho, že se lidské oko dá velice dobře oklamat.

Bohužel, žádnou podobnou věc v dnešních hrách nenajdete. Postavy ve hře, a obecně všechny objekty, nemají tak plynulé animace, abychom bez rozostření pohybu neviděli mezi jednotlivými "pozicemi" animace trhnutí. Čím méně snímků za sekundu pak hra má, tím více jsou pohyby trhané a nepřirozené. Naopak čím více FPS, tím plynulejší animace a pohyby scény jsou. Velmi dobře je rozdíl mezi rychle zobrazovanou a pomale zobrazovanou scénou vidět v demu 3dfx, které si můžete stáhnout zde (http://www.3dfx.com/developers/demos/demos_6030/demo_6030.exe) - je ovšem jen pro majitele karet od 3dfx. Tento program rozdělí obrazovku na dvě a v každém zobrazí rychle rotující scénu. Obě scény se však něčím liší, i když na první pohled vypadají stejně - každá z nich se vykresluje jinou rychlostí, pravá má dvakrát více FPS než ta levá. Jak uvidíte, rozdíl mezi 37 a 74 FPS je více než patrný. I rozdíl mezi 60 a 120 snímky je vidět ještě velmi dobře; pokud jste toto demo viděli, myslím, že nejsou potřeba další komentáře.

Co je interval odezvy hry na podnět hráče

Dalším důležitým prvkem je rychlost odezvy hry na podnět hráče. To je další rozdíl hry oproti filmu - film na žádné podněty reagovat nemusí. Když vojáci dělali pokusy s realističností leteckých simulátorů, přišli na docela zajímavé skutečnosti. Jejich experimenty se zabývaly vlivem intervalu odezvy simulátoru na podnět pilota. Například, když byl interval odezvy z původních 50 milisekund zvýšen na dvojnásobek, zvýšil se také počet chyb pilotů. Zjistili také, že jen velice zkušení piloti pocítili změnu tohoto intervalu pod 50 milisekund a že většina lidí nepozná rozdíl mezi 40 a 70 milisekundami.

A co to má co dělat s FPS? Čím více snímků za sekundu hra vykreslí, tím rychlejší bude odezva systému na podněty. Pokud hrajete takový deathmatch v Unreal Tournament nebo QIII Arena, musíte mít odezvu hry co nejnižší, jinak si akorát říkáte o smrt. Většina her má interval odezvy okolo 80 milisekund (to se dá celkem dobře spočítat) - ten nepostřehnou ani ti nejlepší hráči. Pokud však půjde rychlost snímkování hry pod 60 FPS, bude už tento interval citelný. Klesne-li pod 30 FPS, jste daleko více zranitelní a v horším případě vás čeká smrt. Je tedy zřejmé, že na FPS nezáleží jen plynulost hry, ale i hratelnost hry samotné.

Je nutno také poznamenat, že se v této úvaze neměnil počet vykreslených snímků v čase, tj. stále jsme předpokládali, že FPS bude konstantní za všech podmínek. Ve skutečné hře však FPS kolísá v závislosti na rozsahu vykreslované scény, rychlosti procesoru a grafické karty. Proto bychom neměli zvažovat průměrný počet FPS, ale minimální FPS, pod který by se neměl počet snímků dostat. I tak se dnešní hry málokdy dostanou s průměrným FPS nad 60 snímkům, natož s počtem minimálním; pokud chcete mít ve hře maximální výkon, a tedy počet snímků za sekundu vždy vyšší než 60, musíte jí s rozlišením a kvalitou obrazu hodně dolů. Něco za něco - pokud rádi hrajete v rozlišení 1024 x 768 v 32bitových barvách, rozlučte se s tím, že byste měli byť jen průměrný počet FPS dosahující 60 - i takové PIII na 700 MHz s GeForce 256 dosáhne v průměru (nikoliv minimum) v testu Q3demo1 okolo 50 snímků za sekundu. Výkon dnešního hardwaru zatím nedostačuje - co s tím? Zvýšit výkon…

Jak zvýšit výkon, když je slabý grafický čip

To má však svůj háček. Uvedení nového grafického čipu si žádá svůj čas a peníze. Vzhledem k tomu, že takový čip může společnost vyvíjet několik měsíců i déle, a životnost takového čipu je zhruba půl roku (GeForce 256 byl uveden před půl rokem a dnes má následníka, Rage Fury MAXX po půl roce také dostal potomka apod.), je jasné, že časté uvádění rychlejších a výkonnějších produktů může firmu zruinovat - prostě všechny peníz utopí ve vývoji. Rezervy ve vývoji také nejsou nekonečné - jednou prostě musíte navrhnout zcela nový čip, nestačí jen zvýšit MHz čipu a pamětí, popř. vyměnit výrobu na 0,25 mikronech za 0,18 - viz. G400 a G450, popř. Rage 128 a Rage 128 Pro apod. A nový čip stojí hodně peněz. Jak to tedy snadno vyřešit? Místo jednoho čipu se jich použije více.

Jak na to jde Voodoo2

Prvním takovým řešením bylo Voodoo2 v režimu SLI. Dvě karty byly propojeny kabelem, přičemž jedna vykreslovala liché řádky obrazu a druhá sudé. Bohužel, takovéto řešení je pro uživatel celkem drahé. Toto řešení bylo tedy opuštěno, i když je pravda, že Voodoo2 SLI kralovala na trhu svým výkonem více než rok, a to je v dnešní době co říct; dnes si totiž svoji pozici karta neudrží déle než čtvrt roku.

Proč Rage Fury MAXX není ideální řešení

Proto bylo zvoleno jiné řešení zvýšení výkonu. Koncem loňského roku uvedla ATI kartu Rage Fury MAXX, na kterou dala jednoduše dva čipy Rage 128 Pro (mírně upravený starý dobrý Rage 128) a 64 MB paměti SDRAM. Ani toto není příliš efektivní. Každý čip má totiž pro sebe svých 32 MB paměti, takže v každé se nachází ty samé textury, každý čip měl svůj vlastní frame-buffer, takže v reálu má karta jen 32 MB paměti. Toto řešení bylo zvoleno proto, že kdyby oba čipy přistupovaly do jediné paměti, nastaly by mezi jejich přístupy konflikty. Tyto konflikty by samozřejmě snížily výkon karty, takže by výkon dvou čipů přišel poněkud vniveč. Metoda vykreslování snímků je jiná než u SLI. Nazývá se AFR a každý čip vykresluje snímky na střídačku; zároveň se tedy počítají dva snímky, jeden je vykreslen prvním čipem, druhý pak druhým a tak pořád dokola. Výhodou tohoto řešení je, že nejsou potřeba dvě karty, a tedy je možné využít port AGP. Na druhou stranu MAXX nepodporuje ze zřejmých důvodů technologii texturování přes AGP, takže nevýhodu jsou tu také.

Ale zpět k intervalu odezvy. Ten má Rage Fury MAXX delší než ostatní karty s jedním čipem. Protože se počítají dva snímky zaráz, a pak jsou po sobě vykresleny, odezva tedy může přijít až po vykreslení obou snímků, zatímco u klasické karty po jednom. U SLI tento problém nebyl - tam se totiž vykresloval vždy jeden jediný snímek oběma kartami zaráz. Naštěstí se prodloužení intervalu projevuje až od rozlišení 1280 x 960 a výše, takže to není zase až tak velký problém.

O něco horší je však následující skutečnost, která způsobuje velké poklesy okamžitého FPS. Ta se projevuje tehdy, když MAXX už nemá dostatečný fillrate, tedy ve vyšších rozlišeních. Stručně: Když scénu vykresluje jeden čip, vykresluje všechny snímky scény. Procesor scénu spočítá a pošle ji čipu; ten ji vykreslí. Jakmile je hotovo, pošle mu procesor data o další scéně; mezitím sice může čekat, než čip scénu vykreslí, mezery mezi jednotlivými snímky jsou však pravidelné. A to se děje stále dokola. Vidíte, že se jedná o zcela pravidelný cyklus, hodnota aktuálního FPS bude prakticky stejná s průměrným FPS, maximálně se bude lišit, pokud se budou na střídačku vykreslovat složitější a jednodušší scény. U AFR je to jiné. Procesor pošle data prvnímu čipu, spočítá další snímek a pošle data druhému čipu. Jakmile první čip dokreslí scénu, pošle mu další data atd. Pokud první čip stihne vykreslit snímek dříve, než procesor pro něj spočítá snímek další, je to v pořádku a hra je plynulá, tj. aktuální FPS se rovná průměrnému FPS. Jakmile však první čip nestihne dokreslit scénu, a procesor má už další data nachystána, musí procesor počkat, až první čip svoji práci dokončí. A je tedy jasné, že mezi prvním a druhým snímkem, kdy je pošle téměř zaráz oběma čipům, čeká méně či vůbec, než mezi druhým a třetím snímkem, kdy čeká na první čip až dokončí vykreslování. Aktuální FPS bude v době vykreslování prvního a druhého snímku vyšší, než v době kreslení druhého a třetí snímku. Je to jako když vám v kině někdo mezi dvě sekundy filmu film na sekundu zastaví. Budete určitě znechuceni. Ostatně, podívejte se, jak to vypadá ve hře Quake 3. Příkazem cg _drawfps 1 si můžete vypisovat počet aktuálního počtu FPS v timedemu. V rozlišení 800x600 je fillrate dostatečný, hra je plynulá. To platí i pro rozlišení 1024 x 768. Ovšem zlom nastává v 1280 x 1024, kdy fillrate MAXX už nedostačuje pro plynulou hru a průměrný počet snímků klesá na 41. Vidíte ale, že aktuální FPS kolísá od 20 do 60 - plynulost hry je tedy narušena, protože minimální aktuální FPS klesá pod 30 snímků (testovací počítač Intel Celeron 550 MHz, FSB 100 MHz, 128 MB RAM) . Hra tedy v tomto rozlišení není příliš hratelná, protože ač je průměrný FPS nad optimem, hra prostě škube. A proč o tom tak zdlouhavě píšu? Protože tento "efekt" v kombinaci s tím předchozím velmi výrazným způsobem ovlivňuje interval odezvy na povel daný uživatelem. I odezva na obyčejné otočení pohledu je patrná a to není dobře. MAXX by prostě musel mít vyšší fillrate jednotlivých čipů na kartě, aby hra byla opravdu plynulá i ve vyšších rozlišeních.



Voodoo5: 4 čipy VSA-100 v režimu SLI

A jak jde na zrychlování a zvyšování FPS 3dfx? Nedávno uvedený čip VSA-100 na kartách Voodoo5 byl od začátku pro práci ve více navrhnut pro práci ve "skupině", tj. Voodoo5 5500 má dva čipy na kartě, Voodoo5 6000 dokonce čtyři. Poprvé v historii umí čip od 3fdx 32bitovou barvu, zvětšena byla také maximální velikost textury z 256x256 na 2048x2048 bodů, umí komprimaci textur, má 24bitový Z a W-buffer, 8bitový stencil buffer, podporuje AGP 4x (stejně jsou textury kopírovány do lokální paměti, takže ta pravá podpora AGP 4x to není), a 64 MB paměti. Ostatně, malé preview si budete moci na Doupěti přečíst již příští týden, takže podrobnosti odložím.

A jak Voodoo5 vykresluje snímky? Podobně jako Voodoo2 v SLI módu může každý čip vykreslovat snímek po linkách. VSA-100 však používá upravený SLI mód - každý z čipů na kartě může vykreslovat jednu až 128 linek po sobě jdoucích; např. pokud každý čip vykresluje 32 linek, u Voodoo5 6000 první vykreslí linky 1-32, druhý 33- 64, třetí 65- 96 a čtvrtý 97-128 a tak dokola. Snímek je tak tvořen skupinami linek, které mohou mít šířku o 1 do 128.

Původní SLI totiž mělo jednu velkou nevýhodu. Každý čip musel spočítat celou scénu, tj. všechny trojúhelníky a navíc je pokrýt texturami. Každá karta Voodoo2 měla svou paměť, takže se musely do těchto pamětí uložit stejné textury. Nárůst výkonu tedy nebyl dvojnásobný, stejně jako u metody AFR. VSA-100 to však řeší elegantněji. Protože vykresluje vždy určitou část obrazovky, je pravděpodobné, že se trojúhelníky, které bývají velmi malé, vlezou celé do této části. Žádný jiný čip pak nepočítá tentýž trojúhelník a nemusí na něj nanášet textury. Takže se textury pro takovéto trojúhelníky nacházejí v paměti jednoho čipu a nezabírají cenné místo v paměti jiného.

3dfx se tak podařilo vytvořit moderní grafický čip s velkou možností škálovatelnosti (až 128 čipů na kartě) a vysokým výkonem. Kromě hardwarového T&L tak nabízí vše, co moderní hráč požaduje; naštěstí pro 3dfx zatím hry všechny výhody hardwarovéhoT&L nevyužívají (Q3 umí jen transformaci), takže by Voodoo5 mohlo být docela dobře prodejné. Pokud k němu přidáte silný procesor, který bude stíhat počítat scénu a dodávat grafice data, získáte opravdu obrovský výkon - bohužel, bude to také stát dost peněz.

Cestička není stále vyšlapaná

ATI i 3dfx tak jdou vlastní cestou zvyšování výkonu grafických karet. Životnost čipů na trhu je velice krátká a málokdo si může dovolit vyhazovat peníze za vývoj stále rychlejších "švábů". Zatím také není zcela jasné, kam se bude ubírat cesta hardwarového T&L a jeho podpora vývojáři her. VSA-100 tak nenabízí T&L a nepodporuje všechno moderní vymoženosti, ale snaží se nabídnout hráčům maximální počet FPS ve hrách. Na jednu stranu nestíhá krok s konkurencí, na druhou stranu přispívá svými produkty ke zvýšení hratelnosti her zvýšením rychlosti zobrazování - co si vyberete vy? Plynulou hratelnost ve vysokém rozlišení s celoobrazovkovým vyhlazování nebo hardwarové T&L? To záleží na tom, jak rychlé budou hry, které budou pro hardwarové T&L napsány, budou. Je mnoho cest k úspěchu, a teď lze jen těžko s určitostí říct, která je ta pravá. Proto si s koupí nové grafické karty počkejte na dobu, kdy toto bude zodpovězeno. Může vám to ušetřit nemalou částku peněz.

NEJČTENĚJŠÍ ČLÁNKY

Vybrali jsme nejlepší PC hry pod stromeček

Vybrali jsme nejlepší PC hry pod strom…

Toto je deset her, které byste rozhodně neměli při hraní na počítači vynechat.

18.  11.  2017 | | 11 N/A
Need for Speed Payback: nedostatečně rychle a zběsile (recenze)

Need for Speed Payback: nedostatečně r…

Po menší přestávce jsme se konečně dočkali dalšího dílu série Need for Speed. Prospěla závodům pauza stejně, jako novému asasínovi? To se dozvíte z naší recenze.

12.  11.  2017 | | 17 N/A
Městská akce Watch Dogs je na PC zdarma, stahujte!

Městská akce Watch Dogs je na PC zdarm…

Pokud jste ještě nedali prvním dílu této série šanci, nyní už nemáte žádný důvod akci nevyzkoušet.

7.  11.  2017 | | 2 N/A
Na PS Store startuje nová akce, najdete tam spoustu her pod tři stovky

Na PS Store startuje nová akce, najdet…

Chcete si doplnit svou digitální knihovničku konzole Playstation o pár parádních pecek? V obchodě máte skvělou akci.

16.  11.  2017 | | 4 N/A
Testovali jsme Xbox One X: jde o nejvýkonnější konzoli na trhu?

Testovali jsme Xbox One X: jde o nejvý…

Tak je to konečně tady. Vyšel Xbox One X, nejvýkonnější konzole na trhu a dlouho opěvovaný klenot Microsoftu. Je to opravdu dobrá herní mašina nebo přeceněný favorit?

17.  11.  2017 | | 13 N/A
Microsoft rozjíždí časově omezenou nabídku bundlů konzole Xbox One S

Microsoft rozjíždí časově omezenou nab…

Slevová mánie začíná.

12.  11.  2017 |
Playstation trofeje začínají mít smysl, dostanete za ně kredity

Playstation trofeje začínají mít smysl…

Pokud patříte mezi lovce trofejí na konzoli Playstation, vaše snažení dost možná nabere výraznější obrysy.

6.  11.  2017 | | 10 N/A
Fanoušci přinutili EA ke změně, Star Wars Battlefront 2 bude lepší

Fanoušci přinutili EA ke změně, Star W…

Velká vlna nevole od fanoušků Battlefrontu podle všeho padla na úrodnou půdu. EA chystá změny.

18.  11.  2017 | | 2 N/A