TES V: Skyrim tweak guide – detaily, výkon a kvalita

21. 11. 2011

Sdílet

 Autor: Redakce

The Elder Scrolls V: Skyrim – co a jak se testovalo

Herní engine Skyrimu a jeho nedostatky už jsem pitval v první části věnované výkonu grafických karet. Teď se zaměříme na vliv nastavení detailů na výkon a kvalitu obrazu.

Rovnou zkraje asi nepotěším přiznivce modifikací – Skyrim nabízí obdobně jako Oblivion bohaté možnosti úprav konfigurace, úpravu textur a dokonce i přidávání vlastních filtrů pro úpravu obrazu. Kvůli této bohulibé činnosti vznikají dokonce specializované weby, a diskuze, které se podobnými úpravami zabývají. Za všechny jmenuji Skyrimnexus, který patřil mezi první, a s ohledem na rozsah a možnosti úprav už to jde mimo rámec i tak dost rozsáhlého článku.

Udělal jsem průřez všemi možnostmi nastavení, které Skyrim nabízí v základní výbavě. Testoval jsem na stejné scéně, jako v případě srovnání výkonu grafických karet. Nastavení detailů bylo u všech položek maximální, (výjimkou je pouze vypnuté FXAA) a snižovala se vždy jen konkrétní testovaná položka.

Testovací sestava

Pro měření jsem použil sestavu, kterou jsme dali dohromady speciálně kvůli herním testům. Klíčové komponenty, desku a procesor, už jste mohli na Extrahardware.cz potkat ve starších testech grafických karet. Je postavená na svého času nejlevnějším čtyřjádru pro platformu LGA 1366 – Core i7-920 a základní desce Gigabyte GA-X58A-UD5 s čipovou sadou Intel X58.

  • procesor: Intel Core i7-920, 2,66@3,70 GHz (19×195 MHz), 4 (8) jader, deaktivovaný HT
  • základní deska: Gigabyte GA-X58A-UD5 (Intel X58, ICH10R, BIOS F7d)
  • grafická karta: GeForce GTX 560 Ti (ref. takty), 1024 MB GDDR5
  • paměti: 6 GB Kingston DDR3-2000 MHz @ 1560 MHz
  • pevný disk: Seagate Barracuda 7200.12, 160 GB
  • optická mechanika: LG DVD-RW
  • zdroj: Gigabyte Odin GT 800W (GE-S800A-D1)
  • skříň: Enermax Hoplite
  • chladič CPU: Scythe Mugen 2 + Noctua NF-P14
  • OS Windows 7 x64

Testoval jsem na posledních WHQL ovladačích Nvidie a AMD.

Kvalita textur, radial blur

Texture Quality

Na výběr je ze tří možností – low, medium a high. Je zbytečné pitvat, že tato funkce mění rozlišení textur a má výrazný vliv na kvalitu obrazu v případě bližších objektů. Že se mění kvalita textur na pařezu, skále nebo zemi je zřejmé na první pohled. Vypíchnu jednu méně samozřejmou věc – s nižší kvalitou textur se výrazně zhorší i kvalita stromů a rostlin. Dobře je to vidět zejména na větvičce v popředí vlevo.

Natípal jsem hned dvě scény, snímky jsou v pořadí low, medium, high (zleva doprava):

 texture quality low
 texture quality medium
 texture quality high
originál | originál | originál

Na této scéně je pak vidět vliv i na kvalitu objektů v pozadí:

 texture quality low
 texture quality medium
 texture quality high
originál | originál | originál

Vliv na výkon je u karty jako GTX 560 Ti s 1 GB paměti neměřitelný. Doporučení je jednoznačné – nechte maximum.

Nastavení má také vliv na obsazení paměti grafické karty, na low to při MSAA 4× a rozlišení 1920 × 1080 bodů bylo obsazených 856 MB paměti, na medium 889 MB a na high 989 MB. Při dnešním standardním 1 GB paměti už to asi není potřeba řešit. Nemělo by to ale znamenat, že pokud máte míň paměti, hra bude nehratelná, měla by se přizpůsobit.

 

Radial Blur Quality

Z této položky jsem byl dost zoufalý, ať jsem zkoumal, jak jsem zkoumal, neobjevil jsem, na co by měla mít vliv. Mělo by jít o kruhové rozostření. Hádal jsem, že půjde rozostření obrazu v dálce, které je v některých scénách vidět, ale screenshoty a měření výkonu ukázaly, že jsem netrefil.

Zleva doprava nastavení low, medium a high.

 radial blur low  radial blur medium  radial blur high
originál | originál | originál

A rozdíl ve výkonu na testované scéně na úrovni chyby měření:

Návody k Falloutu 3 tvrdí (a všichni ostatní to dle všeho i v případě Skyrimu podle těchto návodů slepě opakují), že jde o efekt rozmazání obrazu, který se objeví když utrpíte zásah.

Ani snímání průběhu snímkové frekvence Frapsem (včetně analýzy snímek po snímku), ani típání screenshotů neukázalo při tomto scénáři žádný významný rozdíl v kvalitě ani rychlosti snímkové frekvence. Už jsem byl tak zoufalý, že jsem nasnímal i video a prohlížel zásah snímek po snímku. S nulovým výsledkem. Nabízím vám tedy sekvenci snímek po snímku se všemi třemi úrovněmi kvality, třeba si něčeho všimnete. Mně samotnému ale nezbývá, než se domnívat, že tahle položka prostě z nějakého důvodu nefunguje. Pokud objevíte, kde a jak se projevuje, dejte určitě vědět.

Utvrdila mne v tom skutečnost, že v návodu zveřejněném na TweakGuides vypadá Radial Blur o poznání kvalitněji, a posléze jsem objevil i návod na vyladění Fallout: New Vegas na GeForce.com s touto dvojicí snímků, kde je rozdíl jasně patrný – můžete si všimnout, že v případě nižší kvality jsou jednotlivé skládané snímky ostré, zatímco při vyšší kvalitě jsou na hranách rozostřené a rozmáznutí pohybu je plynulé:

A jak to teda vypadá ve Skyrimu? Ve všech čtyřech případech prakticky stejně.

Radial Blur Quality: Low

Radial blur low 1
Radial blur low 2
Radial blur low 3
originál | originál | originál

Radial blur low 4
Radial blur low 5
Radial blur low 6
originál | originál | originál

Radial blur low 7
Radial blur low 8
Radial blur low 9
originál | originál | originál

Radial Blur Quality: Medium

Radial blur medium 1
Radial blur medium 2
Radial blur medium 3
originál | originál | originál

Radial blur medium 4
Radial blur medium 5
Radial blur medium 6
originál | originál | originál

Radial blur medium 7
Radial blur medium 8
Radial blur medium 9
originál | originál | originál

Radial Blur Quality: High

Radial blur high 1
Radial blur high 2
Radial blur high 3
originál | originál | originál

Radial blur high 4
Radial blur high 5
Radial blur high 6
originál | originál | originál

Radial blur high 7
Radial blur high 8
Radial blur high 9
originál | originál | originál

Kvalita stínů, kvalita „obtisků“

Shadow Detail

Tato položka ovlivňuje kvalitu stínů. K dispozici jsou čtyři možnosti – low, medium, high a ultra. Je to jedna z voleb, která má velmi výrazný vliv na výkon. Na scéně s přechodem přes most je největší propad výkonu znát na nastavení Ultra, mezi dalšími třemi položkami už takový rozdíl není. Když už musíte stahovat detaily, určitě vynechejte Low a nastavte přinejmenším medium, ve výkonu už není takový rozdíl.

Na této scéně ale stínů zase tolik vidět nebylo, proto jsem na změření rozdílů zkusil i jinou.

Ať už zvolíte cokoliv, budou mít stíny alespoň nejbližší objekty. A dokonce mají i rozostřené hrany, vždy jde tedy o měkké stíny.

Při nejnižší kvalitě je patrné, že už vzdálenější stín v pravém horním rohu je zjednodušený (mapa stínu má nižší rozlišení než v popředí) a jen o kousek dál už žádné stíny nejsou.

 shadow detail low

S vyšší kvalitou se zlepšil nejen stín vzdálenější větve, ale i rozlišení stínu na kameni nalevo od středu snímku a také přibyly stíny na úpatí skály vlevo nahoře.

 shadow detail medium

Na high už mají blízké stíny minimálně dvojnásobné rozlišení, přibyl i stín na skále vlevo nahoře.

 shadow detail high

Na maximální detaily už jsou vidět i stíny stromů ve větší dálce a také na vzdálenější skále.

 shadow detail ultra

Při žádném z nastavení ale nečekejte stíny u menších objektů jako jsou keře, květiny nebo trsy trávy. Většina drobnějších objektů nemá stíny a tak nějak nepřirozeně trčí ven z terénu. Ve současných hrách s podporou některé ze zjednodušených forem Ambient Occlusion přidá na tomto místě trochu stínu alespoň tento efekt.

Ještě znovu všechna čtyři nastavení i s odkazem na originál, zleva doprava low, medium, high, ultra.

 shadow detail low  shadow detail medium  shadow detail high  shadow detail ultra
originál | originál | originál | originál

U druhé scény, kde je těch blízkých stínů podstatně víc, už mělo nastavení na rozdíly ve výkonu mnohem větší vliv. Musím ale upozornit, že v tomto případě byly snímkové frekvence podstatně vyšší a ani s maximálními detaily téměř nepadaly pod 60 fps.

Decal Quantity

Decal znamená v původním slova smyslu v českém překladu obtisk. Ve hrách se tím obvykle myslí textury, které se po nějaké interakci dodatečně nalepí přes otexturované objekty. Bývají to třeba „díry“ po kulkách, šrámy, krev nebo stopy po smyku.

Tato položka by tedy měla ovlivňovat množství krvavých stop, které zůstávájí, pokud něco rozsekáte. Nevšiml jsem si, že by měla ve hře na něco výrazný vliv – ať už jsem nastavil cokoliv včetně „žádných“, od krve byl po pár ranách celý meč i mrtvý vlk zapráskaný tak, že se nedalo pořádně poznat, zda ještě stopy přibývají nebo nikoliv.

 decal quantity ultra

Opět – buď tato volba nefunguje, nebo nemá na kvalitu dramatický vliv. Při jakékoliv z voleb také stopy po krátké době mizí a nikdy se mi jich nepovedlo udělat dost na to, aby mizely kvůli tomu, že je jich moc. Ono by se ani nebylo moc co divit – u moderních karet s náročnou grafikou může něco takového jen těžko pomoct k vyššímu výkonu.

Na snímcích se nenechte mýlit množstvím krve, to, jak moc je mrtvola upatlaná záleží spíš na tom, kterým směrem se sekalo než na tom, o jaké nastavení šlo.

Zleva doprava jde o nastavení none, low, medium a high.

 decal quantity none  decal quantity medium  decal quantity high  decal quantity ultra
originál | originál | originál | originál

Vyhlazování FXAA a kvalita vody

FXAA

FXAA v implementaci vývojářů určitě doporučím vynechat. Sice se dá říct, že na rozdíl od položky „Antialiasing“ (pravděpodobně MSAA) vyhlazuje nejen hrany, ale vše včetně textur, takže řeší i problematické okraje stromů, keřů a plotu, ale v tom je právě kámen úrazu – spíše než o vyhlazení se v tomto případě dá mluvit o rozmazání a zhoršení kvality obrazu. Proto jsem vše testoval a snímal s vypnutým FXAA.

 fxaa off
 fxaa on
originál | originál

Water

V případě vody se můžete vyřádit. Vývojáři nechali (s ohledem na efekt) k dispozici zbytečně moc možností nastavení. Můžete si vybrat, co všechno se bude ve vodě odrážet: terén, stromy, objekty a obloha.

Aby lépe vynikly rozdíly, všechny odrazy jsem povypínal a zapínal je po jednom. Vedle sebe je vždy daná položka vypnutá a zapnutá.

Water reflect land

Největší rozdíl je vidět v pozadí, kde se na hladině (pravděpodobně) odráží pohoří.

 water reflect land off
 water reflect land on
originál | originál

Water reflect trees

Odrazy stromů jsou jasně viditelné, netřeba to dál pitvat.

 water reflect trees off
 water reflect trees on
originál | originál

Water reflect objects

V případě odrazu objektů nějak nejsem schopný identifikovat, cože by se to mělo na hladině odrážet. Určitě to nebyla zvířátka, a nejsou to ani kameny vyčuhující z hladiny. Každopádně je hladina o něco živější.

 water reflect objects off
 water reflect objects on
originál | originál

Water reflect sky

Asi byste čekali, že s vypnutím odrazu oblohy zmizí modravé zabarvení hladiny, které je vidět hlavně v dálce, kde se slévá do jednolitého odstínu. Není tomu tak, mění se naopak hladina blízko spodní hraně snímku. Se zapnutým odrazem oblohy je světlejší.

 water reflect sky off
 water reflect sky on
originál | originál

Water reflect – vše zapnuto

A konečně ještě rozdíl mezi vodou se všemi položkami vypnutými a zapnutými.

 water reflect all off
 water reflect all on
originál | originál

Při měření výkonu jsem naopak jednotlivé položky vypínal. V grafech by se mohlo zdát, že má nastavení na něco vliv, protože při strmém stoupání po 20 sekundách jde žlutá křivka nahoru líněji, ale jde spíše o chybu měření. V testované scéně se jde kolem řeky, ale voda je vidět jen v první části.

Nejcitelnější vliv na výkon má vypnutí odrazu stromů, ale i v tomto případě povyleze výkon při 45 fps sotva o dva snímky za sekundu (a část jde ještě na konto chyby měření), což je téměř zanedbatelné.

 

Objekty, postavy a travní porost

Object Fade

Object Fade z druhé záložky s nastavením je asi jediná položka, která má výrazný vliv na výkon. Na nejnižší detaily zmizel výrazný propad ve dvacáté sekundě, který se objevoval prakticky na všech nastaveních a všech grafických kartách. Evidentně se ulevilo procesoru.

Pokud máte slabý procesor a problém s jeho výkonem, pravděpodobně bude vhodné nastavit některou z hodnot v rozmezí 1–8, výsledkem je téměř dvojnásobná minimální snímková frekvence. Žádná jiná položka v nastavení neměla na tuto hodnotu tak dramatický vliv.

 object fade 1
 object fade 8
 object fade 15
originál | originál | originál

Actor Fade

Jednoduše vzdálenost, na jakou ještě uvidíte ostatní postavy, zvířata a ostatní havěť. S nižším nastavením se budou zjevovat stále blíže u vás. Toto nastavení myslím můžete s klidným svědomím nechat na maximu, na průvody či davové scény, ve kterých by to mělo dramatický vliv na výkon, ve Skyrimu asi jen tak nenarazíte.

 actor fade 2  actor fade 8  actor fade 15
originál | originál | originál

Grass Fade

Zub mezi 25-30 sekundou bych opět přičítal spíš chybě měření než nějakému vlivu na výkon. Tím nechci říct, že nastavení trávníku nemá na výkon vliv. Na testované scéně bujný travní porost celkem chybí.

 grass fade 0  grass fade 4  grass fade 7
originál | originál | originál

Proto jsem zkusil ještě jinou lokaci. Naplno se tráva zjevuje celkem nenásilně někde tam, kde začíná mít každý trs na výšku několik pixelů. Na čtyřku už tráva doslova roste ze země pár desítek metrů před vámi. Na nulu je trávník definitivně včudu a zvláštní je, že s ním zmizela i spousta miniatur stromů v pozadí.

Zato bez trávy vypadá krajina příšerně. Nejen kvůli tomu, že vás namísto bujné vegetace čeká udusaná zem, ale hlavně kvůli pravidelné textuře z malých „dlaždiček“, která vytváří nepříjemný vzorek. Po zkušenostech s posledním Battlefieldem nebo Rage z takového terénu nebudete mít radost, raději to nechat zarůst, kam jen to jde.

 grass fade 0
 grass fade 2
 grass fade 4
 grass fade 7
originál | originál | originál | originál

A teď to podstatné – rychlost. Nakonec nepomohla ani změna lokace, na výkon má tato volba jen malý vliv. Bez trávy se dopracujete asi na 61,8 fps, s travou na 58,9 a s trávníkem v celé kráse je průměrná snímková frekvence 58,3. Opět má význam škudlit jen u podstatně slabších karet.

Odlesky, světla, drobné předměty a detaily objektů

Specularity Fade

Specularity Fade by mělo označovat vzdálenost, na kterou budou vidět odlesky. Ve Skyrimu ale moc toho, co by se mohlo lesknout, není.

 specularity fade 2  specularity fade 11  specularity fade 20
originál | originál | originál

Light Fade

Light fade ovlivňuje vzdálenost, v jaké ještě budou světla osvětlovat okolní objekty. V exteriérech a za denního světla má toto nastavení na rychlost minimální vliv.

V rozlehlém interiéru už je rozdíl vidět, na výkon to má ale i tak jen nepatrný vliv. Snížením z 35 na 25 jen lehounce tmavnou trámy na zadní stěně, na 17 už klenba a boční zdi v zadní části a na 2 už i sloupy v popředí.

 light fade 2  light fade 17  light fade 25  light fade 35
originál | originál | originál | originál

A ještě drobnost, toto nastavení má vliv i na noční exteriéry v místech, kde jsou bodové zdroje světla – pochodně či ohně.

Item Fade

Item fade je další položkou, která má na výkon v testované scéně jen minimální vliv a u které jsou vidět větší rozdíly v zobrazené scéně kvůli pohybu stromů a vody než při její změně.

 item fade 1  item fade 8  item fade 15
originál | originál | originál

Distant Object Detail

Jedna z položek, která má trochu vyšší vliv na výkon. V náročnějších situacích je rozdíl mezi nejnižším a nejvyšším nastavením 2–5 fps. Co z terénu a okolí zmizelo je dobře patrné i přesto, že je spousta věcí ukrytá za stromy. Rozdíl ale opět není nějak dramatický, zato se se snížením této položky dočkáte viditelnějšího doskakování objektů při pohybu kupředu. Pokud možno nechte až do druhé nebo třetí vlny, když už nebude kde jinde brát.

 distant object detail low  distant object detail medium  distant object detail high  distant object detail ultra
originál | originál | originál | originál

Tipy na závěr a galerie snímků ze hry

Vyhlazování průhledných textur vynuťte přes ovladače

Na závěr se ještě vrátím k vyhlazování. Zmiňoval jsem to už v minulé části s testem grafických karet – nevyhlazené textury tvořící větve stromů a trávu vypadají dost děsivě, zejména proti obloze. FXAA, které jsem vám o pár stránek dříve doporučil, to sice trochu srovná, ale rozmázne i další textury.

Nejrozumnější kvality dosáhnete, pokud aktivujete režimy vyhlazování textur s maskou průhlednosti vynucením v ovladačích. Majitelé GeForce mají možnost vynutit vyhlazování přes ovladače přepnutím položky Vyhlazování hran - Průhlednost (v anglické verzi Antialiasing - Transparency), AMD tuto položku schovalo pod volbu Anti-Aliasing Mode, kde je zapotřebí přestavit položku Multi-sample AA na Adaptive Multi-sample AA.

Připravte se, že dojde k trošku vyššímu poklesu výkonu, karty jako GTX 560 Ti to ale ve Skyrimu zvládají bez problémů, v kritických situacích se stejně poflakují kvůli tomu, že musí čekat na procesor.

Ubírejte s rozumem

S trochou nadsázky
se dá říct, že k výrazně vyššímu výkonu si pomůžete jen schováním vzdálenějších objektů a tím, že oželíte stíny. Pokud ani to nestačí, budete už uždibovat jen po kouscích. Řada dalších nastavení už nemá výrazný vliv na výkon, zato je poznáte na kvalitě. A některých si pro změnu asi ani nevšimnete, bohužel nejen na kvalitě obrazu, ale i na snímkové frekvenci.

Na závěr si ještě dáme galerii screenshotů pořízenou s maximálními detaily v rozlišeních 1920 × 1200 px a 1920 × 1080 px. Většina jich je s FXAA, některé však ne – ty druhé poznáte podle celkově ostřejšího obrazu.

Za poskytnutí hry do testu děkujeme společnosti Cenega

Cenega.cz

TES V: Skyrim-0001
TES V: Skyrim-0002
TES V: Skyrim-0003
TES V: Skyrim-0004
originál | originál | originál | originál

TES V: Skyrim-0005
TES V: Skyrim-0006
TES V: Skyrim-0007
TES V: Skyrim-0008
originál | originál | originál | originál

TES V: Skyrim-0009
TES V: Skyrim-0010
TES V: Skyrim-0011
TES V: Skyrim-0012
originál | originál | originál | originál

TES V: Skyrim-0013
TES V: Skyrim-0014
TES V: Skyrim-0015
TES V: Skyrim-0016
originál | originál | originál | originál

TES V: Skyrim-0017
TES V: Skyrim-0018
TES V: Skyrim-0019
TES V: Skyrim-0020
originál | originál | originál | originál

TES V: Skyrim-0021
TES V: Skyrim-0022
TES V: Skyrim-0023
TES V: Skyrim-0024
originál | originál | originál | originál

TES V: Skyrim-0025
TES V: Skyrim-0026
TES V: Skyrim-0027
TES V: Skyrim-0028
originál | originál | originál | originál

TES V: Skyrim-0029
TES V: Skyrim-0030
TES V: Skyrim-0031
TES V: Skyrim-0032
originál | originál | originál | originál

TES V: Skyrim-0033
TES V: Skyrim-0034
TES V: Skyrim-0035
TES V: Skyrim-0036
originál | originál | originál | originál

TES V: Skyrim-0037
originál

Skyrim a procesorová vlákna

Nalim27 do diskuze pod průvodcem nastavení uvedl seznam položek, které by po přidání do SkyrimPrefs.ini měly lépe rozdělit zátěž na více jader a ulehčit nejnáročnějšímu vláknu. Rozhodl jsem se, že to zkusím a přeměřím, jestli se něco změní. Zároveň jsem vyzkoušel i to, jak na tom bude s výkonem Core i7-2600k pro LGA 1155. Abych zbytečně netříštil diskuzi do dalšího článku, výsledky měření jsem přilepil za pondělního průvodce nastavením.

Když jsem o kousek níž pod komentářem Nalima27 odpovídal na to, že při hraní jsou nějak vytížená všechna jádra a nikoliv jen jedno, vzpomněl jsem si na jednu šikovnou utilitku. Kdysi ji vyvíjela společnost Sysinternals, kterou později pohltil Microsoft, a jmenuje se Process Explorer. S její pomocí se dá o spuštěných procesech zjistit mnohem víc než ze standardního správce úloh pod Windows.

Tady si dovolím odbočku stranou. Spousta lidí si představuje, že když má aplikaci, o které se mluví jako o jednovláknové, schramstne si u čtyřjádra pro sebe jedno procesorové jádro a systém a ostatní aplikace se pak musí dělit o zbývající tři. Ve skutečnosti je to podstatně komplikovanější, na procesoru se permanentně střídají stovky procesů a pod každým z nich mohou běžet i desítky vláken s různou prioritou. Žádný normální proces nemá za běžných okolností „své“ jádro nebo jádra napořád.

I když existují aplikace, které se usadí na jednom jádru a intenzivně jej vytěžují, neznamená to, že by nepodporovaly vícejádrové procesory a neuměly pracovat ve více vláknech.

Podrobnosti o konkrétním procesu snadno zjistíte právě pomocí zmíněného Process Exploreru, pokud na něj klepnete pravým tlačítkem a vyberete properties. Na záložce Threads jsou blíže popsaná jednotlivá vlákna, která se pod daným procesem schovávají.

Kromě toho jsem využil i TMonitor, který monitoruje stav násobiče a Turba u jednotlivých jader. Tady zdůrazním, že zobrazuje podle nastavení buď frekvenci jader nebo aktuální násobič, nepleťte si to s vytížením jader, které znáte třeba ze správce úloh (i když spolu vytížení jádra a frekvence do úzké míry souvisí). Sáhl jsem k němu ze dvou hlavních důvodů – aktualizuje se mnohem rychleji než správce úloh a lze jej lépe přizpůsobit volnému prostoru.

Abych vybral nějaké exemplární extrémní příklady, zapátral jsem do minulosti a vyhrábl Half-Life 2, který je označovaný za jednovláknovou hru (bez modifikace konfiguračních souborů). Důvod je jednoduchý, pokud jej spustíte bez vsyncu, spolehlivě zabere jedno procesorové jádro a ostatní zdánlivě nic nedělají. Dobře je to vidět i na TMonitoru, násobič u prvního jádra Core i7-920 je na maximu a ostatní jádra se flákají na spodní hranici násobiče.

I „jednovláknový“ hl2.exe má ale pod sebou schovaných kolem 25 vláken. Když mrkneme na jednotlivá vlákna, zjistíme, že se pod procesem schovává jedno vlákno, které vytěžuje procesor na 24 % (což plus mínus zaokrouhlování odpovídá jedinému jádru na 100 %) a najdete tu i další proces, který vytěžuje další jádro na 30  % při jeho aktuálním taktu. O programování ve více vláknech jsem kdysi jen lehce zavadil, a o programování pod DirectX nevím vůbec nic, takže jestli je přehrání části zátěže v dalším vlákně na další jádro záležitostí samotné hry, systému, nebo ovladačů grafiky, vám bude muset vysvětlit někdo jiný. Každopádně z toho vychází, že pokud Half-life 2 nebrzdí vertikální synchronizace, i v případě této „jednovláknové“ hry má význam dvoujádro. Pokud hru vertikální synchronizací přibrzdíte, nemělo by hlavní vlákno tolik vytěžovat jádro procesoru a na jediném jádru se stihnou prostřídat i ostatní vlákna.

Přesným opakem je Battlefield 3. Těch vláken, které se pod jeho procesem schovávají, není o tolik víc – v případě screenshotu to bylo 31. Už od pohledu na TMonitor je zřejmé, že tu máme zase jedno vlákno, které schramstne téměř celý výkon jednoho jádra. Pak tu jsou další čtyři procesy, které žerou 16,6–7,7 % celkového výkonu procesoru. Jelikož první jádro běží téměř naplno, další čtyři náročné procesy se už nějak střídají spíše na zbývajících třech jádrech.

Je to i případ Skyrimu – přestože neumí pořádně zužitkovat výkon všech procesorových jader, spouští hned několik vláken. Na první testované scéně se kromě jednoho hlavního vlákna objevila řada dalších, tři z nich v daný okamžik využívaly 8,3 %, 6,4 a 6,2 % výkonu procesoru při daných taktech jádra.

Zřejmě hodně záleží i na konkrétní lokaci, o kus dál v listnatém porostu, na jiném místě než na původní testované scéně, bylo vytížení ještě o něco vyšší – zbývající tři náročnější vlákna využila 26-36 % výkonu jednoho jádra při jeho aktuálním taktu, dohromady se to dá srovnat s obsazením dalšího jádra.)

Do příslušných sekcí ve SkyrimPrefs.ini jsem přidal hodnoty z komentářů

[General]
bUseThreadedParticleSystem=1
bUseThreadedBlood=1
bUseThreadedMorpher=1
bUseThreadedTempEffects=1
bUseThreadedTextures=1
bUseThreadedMeshes=1
bUseThreadedLOD=1
bUseThreadedAI=1

[NavMesh]
bUseThreadedMeshes=1

[Trees]
bUseMultiThreadedTrees=1

Netuším, jestli na vině nemůže být i poslední patch, který už byl na našem Skyrimu nainstalovaný, výsledek je ale prakticky stejný, jako bez modifikace konfiguračního souboru. Nenarostl ani počet vláken, ani zátěž těch vedlejších.

Po internetu se ještě potuluje další přidaný „tweak“ v souborech ini, který by měl s vlákny cosi dělat, ten jsem zatím nezkoušel:

 iNumHWThreads=X

kde X je počet vláken. Zmenšení tohoto parametru by mělo pomoci u některých konfigurací při zadrhávání, zvýšení zase zvýšit počet vláken programu. Jiné komentáře ale zase tvrdí, že tento parametr nemá na nic vliv a z tohoto důvodu není ani v generátoru konfiguračních souborů na Do Not Argue (DNA).

Problém není v tom, že by Skyrim neběžel ve více vláknech nebo neuměl využívat vícejádrové procesory. A nedá se ani říct, že by vývojáři hru odflákli tak, že se ani nezabývali podporou vícejádrových procesorů a hráči to museli za ně napravovat editací konfiguračních souborů. Z procesů to spíš vypadá, že to, co šlo, vývojáři do samostatných vláken přehodili a hlavnímu vláknu se už nepomůžeme tím, že něco připíšeme do nějakého ini.

Tento předpoklad by potvrzovala i skutečnost, že po přidání daných klíčů do souboru ini se u vláken nic nezměnilo. Počet vláken je obdobný, jako v případě předchozích testů, stejné je to (v rámci chyby měření) i u průběhu snímkové frekvence, vytížení procesoru (i jeho jednotlivých jader) a hlavně celkovém počtu vláken a v tom, s jakou intenzitou zaměstnávají procesor.

Vyzkoušel jsem i, jestli se něco změní na jiném procesoru s aktivním HyperThreadingem. V hlavní roli Core i7 2600K v lehce modifikované sestavě Barbone W Eagle, kterou nám půjčila T. S. Bohemia.

Stejně jako v případě výše uvedených testů jsem do ní posadil referenční 1,5GB GeForce GTX 580. Výsledek z Process Exploreru se zdánlivě dost podstatně liší. Ve skutečnosti je ale rozdíl opět minimální, zatížení se jen rozmělnilo ze čtyř na osm „jader“.

průběh FPS, vytížení procesorů a grafické karty s modifikovanými ini

A ještě tu mám naměřené výsledky v grafech. Pro tato měření už jsem na Core i7-2600K vypnul hyperthreading stejně jako na Core i7-920. Ještě připomínám, že i7-920 je výrazně přetaktovaná s deaktivovaným Turbo boost, zatímco i7-2600K běží na základních taktech (s aktivním turbem).

První scénu z mostu už znáte. Můžete vidět, že rozdíly mezi standardním ini (modrá čára) a modifikovaným s přidanými „vícevláknovými optimalizacemi“ (červená).

Vytížení grafické karty opět věrně kopíruje průběh snímkové frekvence.

Ani celkové vytížení procesoru se nijak výrazně neliší.

Připomínám, že druhá scéna v listnatém lese je o malinko náročnější na procesor, přesto u ní procesor tolik nebrzdí výkon grafiky.

K propadům vytížení grafické karty a jejímu poflakování nedochází tak často a v takové míře.

A konečně zmiňované vytížení procesoru, které se ke konci blíží 60 %.

bitcoin_skoleni

Pokud máte chuť experimentovat s vlákny aplikace, určitě přitom zkuste i Process Explorer, alespoň to nebude taková střelba na slepo. Vytížení procesoru se liší v závislosti na lokaci i na tom, jestli jste v ní už byli, nebo přes ni jdete poprvé.

Neubráním se pocitu, že u řady tweaků, které kolují po fórech a příspěvků v diskuzích o vlivu na výkon, jde spíš o placebo efekt nebo o pocit za který mohou zmíněné nepřesnosti. Sledování vytížení jader ve správci úloh není také nejlepší metoda pro srovnání, už jen proto, že ostatní vlákna poskakují mezi jednotlivými jádry.

Autor článku