Diit.cz - Novinky a informace o hardware, software a internetu

Co všechno obětovali vývojáři Halo 5 pro zcela stabilních 60 FPS… [video]

Halo 5 Guardians 0
„60 FPS“ se sice ohání řada herních studií, ale pokud o tomto údaji mluvíme v souvislosti s Halo 5, jde skutečně o stabilních 60 FPS. To znamená, že pokles třeba na 55 FPS ve hře nezaznamenáte…

V souvislosti se světem konzolí se nejednou mluvilo o 30 FPS vs 60 FPS. Často padal argument, že 60 FPS je stejně jen marketing, neboť této hodnoty mnohé hry, které ji proklamují, v praxi dosáhnou jen sem-tam v nenáročných scénách. Halo 5: Guardians je ale jiná situace: Vývojáři přislíbili stabilních 60 FPS a to také dodrželi. Říká se ale, že každá mince má dvě strany a přesně to platí i v případě pevných šedesáti snímků za sekundu v případě Halo 5. Dočkáte se scén, které s ohledem na minimální hardwarové nároky vypadají až skvostně, ale stejně tak občas narazíte na kompromisy, při kterých budete kroutit hlavou a přemýšlet, zda to autoři mysleli vážně.

Halo 5 Guardians 05

Framerate se drží zcela stabilně na 60 FPS po více než 99 % času - pokud byste náhodou zaznamenali propad, bude to maximálně na zlomek vteřiny na 59 FPS; vývojáři vzali přislib 60 FPS smrtelně vážně

Vezměte to pěkně popořádku. Protože se hardwarové nároky scénu od scény liší a výsledkem by bylo variabilní framerate, museli vývojáři přistoupit k celé řadě optimalizací a triků, aby bez ohledu na scénu byly nároky kladené na hardware srovnatelné a tím bylo dosaženo i stabilní snímkové frekvence. První z technologií, které jde tomuto cíli naproti, je variabilní rozlišení. Pokud v klidu procházíte rozlehlým prostorem, který si můžete prohlížet, je rozlišení vyšší, než když dojde na souboj a pro zachování plynulosti o stupeň rozlišení klesne. Nejen díky tomu je ale po celou kritickou chvíli obraz plynulý a stále na 60 FPS.

Druhé opatření a dá se říct daň, spočívá ve filtraci textur, která nedosahuje vysokých stupňů (odhadem AF 4×?). Na to navazují technologie, které lze shrnout pod zkratku LOD, tedy level of detail - čím blíže objektu jste, tím je detailnější, prokreslenější a naopak. Jde o celý soubor úprav detailů podle vzdálenosti, týká se jak geometrických detailů, tak alfa-textur pro vegetaci, stínů a osvětlení. Problém je v tom, že tyto změny až na výjimky nejsou plynulé: Pokud se budete přibližovat k objektu, při jednom kroku zkrátka nahradí jednoduchou budovu složitější budova z více polygonů, jednoduchou skálu skála z více polygonů ap. To může působit rušivě a domnívám se, že je to i zbytečné - v případě využití teselace totiž přechod z jednoho stavu na druhý může být plynulejší (ovšem s omezeným množstvím polygonů, jaké je použito pro jednodušší model, by výsledek nebyl plynulý zcela).

Halo 5 Guardians 01

Bližší osoba stín má, vzdálenější ne - objeví se, pokud přistoupíte ještě o krok

Podobně jsou řešené stíny. Hra počítá předpočítané i dynamické a podle vzdálenosti a typu objektu nahrazuje jedny druhými. V některých situacích to není problém, ale v jiných je přechod rušivý. Paradoxně se najdou situace, ve kterých by působilo přirozeněji, pokud by objektu či postavě zůstal jednodušší stín bez ohledu na vzdálenost. Mapy pro multiplayer jsou ale v tomto ohledu propracovanější a tyto ostré přechody jsou v nich téměř eliminovány.

Halo 5 Guardians 02

Dithering na kameni (patrné po rozkliknutí) pro přechod dvou úrovní detailů

Podobně rušivě může vypadat přechod mezi detaily na kamenech v textuře země. Můžete narazit na dvě zvláštně řešené situace. Aby přechod z textury z nižšího na vyšší rozlišení byl plynulý, používá se obecně ve hrách prolínání. Při velké vzdálenosti se používá textura s nižším rozlišení, při nízké vzdálenosti textura s vysokým rozlišení a pro střední vzdálenost jsou vykreslovány obě a prolnuty tak, že čím jste od objektu dále, tím vyšší převahu má textura s nižším rozlišením a naopak. V případě hry, jako je Halo 5, je to ale problém. Aby mohla být podle vzdálenosti méně detailní textura pozvolna prolnuta detailnější, musí být vykreslovány obě, což stojí výkon potřebný pro vykreslování obou. Jenže to si Halo 5 s ohledem na požadavek stabilního výkonu (FPS) nemůže dovolit. Používá proto buďto dithering, tedy že pro jeden pixel z vykresleného obrazu je použita textura o nižším rozlišení, pro druhý o vyšším (což vytváří dost nepěknou rastrovitou mřížku v obraze), nebo ponechává jednu texturu a po přiblížení přes ní vykreslí další, která přidává detaily. Jenže pro zachování výkonu nesmí být ta „další“ textura příliš náročná, a tak má v některých situacích paradoxně nižší rozlišení než základní textura a výsledný dojem je zvláštní.

Halo 5 Guardians 04

Hardwarové nároky explozí jsou řešeny elegantně: alfa textury engine vykresluje v nižším rozlišení

Hra používá ale i daleko sofistikovanější metody pro snížení grafické zátěže, které nepůsobí rušivě. Zajímavě jsou řešené například exploze. Jde o kombinaci alfa textur, často s částicovými (particle) efekty. Asi většina hráčů ví, že právě při soubojích, které jsou plné explozí, klesá hodnota FPS nejčastěji. Vývojáři to vyřešili velmi elegantně: alfa textury explozí jsou renderovány v nižším rozlišení než výsledný obraz, takže jsou jejich nároky několikanásobně nižší. I když by se teoreticky mohlo zdát, že výsledek bude působit rušivě, je naopak díky plynulosti danou udržením 60 FPS překvapivě dobrý.

Halo 5 Guardians 03

Jak se k plamenům přibližujete, stávají se čím dál průhlednějšími, až zmizí zcela (a tím i potřeba jejich vykreslení)

V souvislosti s některými alfa texturami (např. oheň) používá hra techniku, kterou bychom mohli označit za převrácený LOD. Hoří-li někde oheň a vy se k němu přibližujete, zabírá alfa textura s plameny čím dál větší část z vykreslovaného zorného pole a tudíž jsou nároky na hardware čím dál vyšší. Aby nepřesáhly určitou mez, dochází k tomu, že tato alfa textura při určitém stupni přiblížení začne mizet a pokud se postavíte přímo do ohně, kde by zakrývala celé zorné pole, zmizí zcela (resp. neuvidíte ji, nebude vykreslovaná).

Halo 5 Sandstone

Iluze matného železitého jemnozrnného pískovce se podařila skvěle

Výsledkem všeho, co zde bylo popsáno, je vizuálně velmi zajímavá hra. Na jednu stranu najdete skvěle vypadající scenérie, u kterých si říkáte, jak geniální metody tvůrci zvolili (s ohledem na minimální hardwarové nároky a výsledek), na druhou stranu budete přemýšlet nad soudností člověka, který schválil násilné přepínání textur ze statických na dynamické nebo dithering pro některé textury (skoro se chce věřit, že byl použitý omylem). Pokud má hra k dispozici výkon v klidných scénách, můžete se setkat s řadou velmi pokročilých grafických efektů, dobře vypadajících povrchů a prostředí.

Závěrem se můžete podívat, jak to vše vypadá v praxi. Mějte ale na paměti, že autor videa vybral ty největší „špeky“. Nejde o vzorek reprezentující průměrnou či typickou vizuální stránku, ale o mix toho, co jej nejvíc zaujalo:

Zdroje: 

DigitalFoundry (YouTube video)

Diskuse ke článku Co všechno obětovali vývojáři Halo 5 pro zcela stabilních 60 FPS… [video]

Úterý, 22 Březen 2016 - 20:39 | Karel Rys | Na 800x600 ve dvou barvách potřebujete 800x600/8...
Středa, 4 Listopad 2015 - 01:34 | tombomino | tu nejde o to, ze ta hra je vydana na 10fps ;-)...
Pondělí, 2 Listopad 2015 - 08:54 | skaven | na pc vychadza denne mozno 50 hier, na konzoly...
Pondělí, 2 Listopad 2015 - 08:50 | skaven | ja som hral tu Halo 2, co vysla na pc na Visty, a...
Sobota, 31 Říjen 2015 - 15:14 | disposable | napíšeš pravdu, dostaneš samé mínusy... tu sa...
Pátek, 30 Říjen 2015 - 12:27 | Tomáš Bohuněk | Prodejnost není v tomto případě odpovídající...
Pátek, 30 Říjen 2015 - 11:53 | Tom Buri | a jeje, odbornik promluvil.. a coze jsou ty...
Pátek, 30 Říjen 2015 - 11:52 | Tom Buri | jasne, je to krok vedle, proto se prodavaji lip...
Pátek, 30 Říjen 2015 - 00:14 | trodas | Mrkl jsem na pár videjí ze hry a nevypadá to...
Pátek, 30 Říjen 2015 - 00:11 | trodas | <i>muselo se to hackovat v assambleru, ale...

Zobrazit diskusi