Testy, nastavení, testovací sestava
Na jednu stranu se v některých článcích dozvíte, že procesor nemá na výkon v Battlefieldu 3 výrazný vliv, což bývá podepřeno řadou měření ve kterých většina pruhů končí stejnou hodnotou, na druhou stranu hráči multiplayeru odpřísáhnou, že pomalejší procesor udělá při hraní velký rozdíl.
Mirek už v nedávné novince psal, že se k těmto polopravdám a zavádějícím konstatováním vyjádřil i jeden z vývojářů Johan Andersson v tom smyslu, že se v takovém případě testovalo „špatně“, protože výsledky zkresluje a výkon procesoru limituje nedostatečně výkonná grafická karta a tak je zapotřebí testovat na nížším rozlišení a při nižších detailech.
Je to logické, ale obvyklým protiargumentem je to, že člověka většinou nezajímá, jak se liší výkon jednotlivých procesorů při nastavení, při kterém nikdy nebudou hrát, ale to, zda je při běžném nastavení a rozlišení, které budou při hraní používat, zapotřebí procesor za sedm tisíc, nebo stačí i pomalejší za tři tisíce.
Mohl jsem to udělat jako většina lidí, teda vzít kartu a různé konfigurace procesoru, protáhnout ji kouskem singleplayeru a v pár grafech s průměrem konstatovat, že na průměrné snímkové frekvenci se toho moc nezmění. Vás bude ale asi spíš zajímat, za jakých okolností už procesor nestačí a jak se to dá poznat.
Záleží na tom, kde je úzké hrdlo systému
Battlefield i výkonnému čtyřjádrovému procesoru dokáže pořádně zatopit. V případě, že procesor nestíhá, dokáže přibrzdit grafickou kartu, aby neběžela naplno. V okamžiku, kdy nemáte dostatečně výkonný procesor, už vám teda nejspíš výkonnější karta tolik nepomůže – procesor ji přiškrtí. V závěru vám poradím, jak jednoduše poznat, kdy už grafická karta začíná zahálet – stačí k tomu třeba Afterburner a nebo diagnostika vestavěná přímo v Battlefieldu 3.
Zdánlivě jsem toho moc nenaměřil – v grafech najdete srovnání výkonu při čtyřech rozlišeních (+ full HD s vyhlazováním 4× MSAA) a srovnání výkonu procesoru Core i7-920 se všemi čtyřmi aktivními jádry na frekvencích 3,70 GHz, 2,92 GHz a 2,54 GHz. Grafů a výsledků měření je ale tolik, že se vám z nich možná zatočí hlava.
Abych zahrnul oba scénáře, porovnal jsem rovnou dvě nastavení – rozlišení 1280 × 800, při kterém už by procesor prakticky neměla brzdit grafická karta, a při 1920 × 1080 bodů, při kterém by nejspíš majitel karty jako je použitá 3GB GeForce GTX 580 Battlefield 3 provozoval.
Něco pro majitele „historických“ karet
V případě starých grafických karet, které nepodporují DirectX 10, může být situace odlišná – starší verze rozhraní DirectX 10 je na tom totiž o něco hůře s podporou více vláken, je tedy pravděpodobné, že vytížení vícejádrových procesorů bude v takovém případě nižší (adekvátně k tomu by se měla lišit i kvalita prostředí).
Testovací sestava
Pro měření jsem použil testovací sestavu, kterou jste viděli v předchozích dvou článcích věnovaných Battlefieldu 3 – průvodci nastavením a srovnání výkonu grafických karet. Jako karta posloužilo to nejlepší jednočipové řešení, co tu momentálně mám – 3GB GeForce GTX 580 od Gigabyte.
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 580 (ref. takty), 3072 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, které vyšly především kvůli Battlefieldu 3.
K testům jsem využil verzi staženou přes online e-shop společnosti EA, se kterým jste, pokud se o Battlefield 3 zajímáte, asi už měli tu čest – Origin.
Scénář testů
Měření nebylo jednoduché ani rychlé, protože jsem podobně jako v betaverzi sáhnul k náročnějšímu a určitě zajímavějšímu multiplayeru. Následně jsem ještě musel synchronizovat a slepit výsledky z MSI Afterburner (vytížení karty, FPS), Aida 64 (vytížení procesoru) a Frapsu (ten v tomhle případě sloužil jako pomocné stopky a pro ořezávání správné části výsledků z „nekonečných“ logů z Afterburneru a Aidy.)
Testoval jsem na dvou rozlišeních (o tom dále) a mapě Caspian Border v módu Large Conquest se 60-64 hráči na serverech s odezvou pod 100 ms, měřil jsem asi 110s úsek cesty z ruské základny dolů k benzince (na mapě označená jako bod E).
Téměř všechny položky odpovídaly nastavení ultra, jedinou výjimkou je vypnuté vyhlazování přes MSAA (vyhlazování FXAA bylo nastaveno na maximum). FOV (úhel pohledu) byl při testu nastavený na 80°.
Rozlišení a limit ze strany procesoru
Nejprve se podíváme, jak se na vytížení grafické karty a procesoru podepíše snížení rozlišení. Díky těmto výsledkům jsem nakonec v případě nižšího rozlišení jako rozumný kompromis vybral 1280 × 800 bodů.
Následující graf obsahuje všech pět nastavení pohromadě, pokud vás děsí, klidně jej přeskočte a případně se k němu vraťte, o kousek níž je už každé rozlišení v samostatném grafu.
Tečkované čáry patří vytížení karty, plná čára vytížení procesoru. Graf říká jen to, že pouze u nejnižšího rozlišení karta neběží na 100 %, což se projeví i na průběhu zatížení CPU (plná zelená čára), u vyšších rozlišení už karta běží naplno a tečkované výsledky se slévají.
V případě nejnižšího rozlišení 800×600 bodů (nejvýše umístěná plná čára v zelené, nebo spíš khaki) si můžete všimnout zcela odlišného průběhu zatížení procesoru – souvisí to s nejspíš s tím, že už zpomaluje grafická karta (jediná tečkovaná čára), která spadla z hranice 98–99 %. Pravděpodobně je na vině procesor, který už nestíhá dostatečně rychle zásobovat grafiku. S rostoucím rozlišením klesá zatížení procesoru (plné čáry).
Všechny jednotky mají společnou osu, u vytížení je uváděná hodnota v procentech (v grafech jako % GPU a % CPU), v případě snímkových frekvencí (FPS) je to počet snímků/s.
V dalším grafu je vytížení procesoru a snímková frekvence při daném rozlišení. Tečkovaná čára vždy reprezentuje průběh snímkové frekvence a plná čára stejnou barvou vyjadřuje vytížení procesoru, přičemž každé rozlišení má vždy svou stejnou barvu.
Totéž jednodušeji a po kouscích
Aby to bylo zřejmější, rozsekám jednotlivá měření do samostatných grafů.
Tečkovaná zelená čára značí průběh snímkové frekvence, růžová vytížení grafické karty v daném okamžiku a žlutá celkové vytížení procesoru.
Určitě vám doporučím pootvírat si následující grafy za sebe v záložkách (ve většině prohlížečů prostředním tlačítkem myši nebo přes CTRL+levé tlačítko) a přes CTRL+Tab nebo CTRL+PageUp/PageDown se mezi nimi přepínat. Následující pětice odkazů otevře stejné grafy jako jsou níže v nové záložce.
800 × 600, 1280 × 800, 1680 × 1050, 1920 × 1080, 1920 × 1080 + MSAA 4×
V rozlišení 800 × 600 už procesor nestíhá (přestože není vytížený na 100 %) a dochází k poklesu vytížení grafiky.
Při rozlišení 1280 × 800 bodů už je vidět jen drobný pokles vytížení karty jen na začátku. Oproti rozlišení 800 × 600 logicky klesá snímková frekvence a spolu s ní i vytížení procesoru.
Při rozlišení 1680 × 1050 už evidentně nestíhá grafická karta – vytížená je prakticky stále naplno. Opět poklesla snímková frekvence (tečkovaná) i vytížení procesoru. V dalších rozlišeních už se opakuje totéž.
Rozlišení 1280 × 800 bodů, frekvence 3,70, 2,92 a 2,54 GHz
Rozlišení 1280 × 800 bodů, frekvence 3,70, 2,92 a 2,54 GHz
Na začátek opět trochu nepřehledný graf, ve kterém je nahňácané všechno pohromadě – tečkovaným je průběh snímkových frekvencí, stejnou barvou je vytížení grafické karty a v odstínech modré a fialové je vytížení procesoru. Pokud mu nerozumíte, klidně jej opět přeskočte, hned za ním jednotlivé položky v grafech samostatně.
Rozebereme to po jednotlivých složkách. Jak vidíte, v případě nižšího rozlišení 1280 × 800 bodů a nastavení ultra (bez vyhlazování MSAA) už má frekvence procesoru na výkon významný vliv. Zelená je procesor na 3,70 GHz, růžová na 2,92 GHz a žlutá na pouhých 2,5 GHz.
Proč dochází k tak prudkému poklesu, je patrné z následující dvojice grafů. S Core i7-920 na 3,70 GHz ještě stačí výkon procesoru na to, aby karta běžela téměř neustále na 100 %. Při nižším taktu 2,92 GHz už ale začíná kartu brzdit procesor a musí na něj čekat. Nejvíce je to pak vidět při taktu 2,54 GHz, kdy se průměrné vytížení procesoru pohybuje v rozmezína 85–90 %.
A ještě vytížení jednotlivých jader na frekvenci 3,70 GHz, 2,92 GHz a 2,54 GHz. Tečkované je průměrné vytížení procesoru, jak vidíte, běží všechna téměř naplno, žádné ale není vytížené na sto procent.
Rozlišení 1920 × 1080 bodů, frekvence 3,70, 2,92 a 2,54 GHz
Rozlišení 1920 × 1080 bodů, frekvence 3,70, 2,92 a 2,54 GHz
V případě vyššího rozlišení 1920 × 1080 bodů s nastavením ultra bez MSAA 4× už jsou jednotlivé složky grafu pěkně separované. Vytížení grafické karty se pohybuje téměř na 100 %, jen při nižšších taktech procesoru dochází občas k mírnému poklesu vytížení GPU. Dá se říci, že při 2,54 GHz a všech čtyřech aktivních jádrech už je to na hranici, na které začíná grafická karta zahálet. Pořád je to ale dost vysoký výkon na to, aby to ještě neovlivnilo výsledky měření – i na tak výkonné kartě jakou je GTX 580 je při „běžném“ fullHD brzdou především grafika.
V případě 2,92 GHz a 3,70 GHz už výkon procesoru na testovanou scénu stačí, ale musím zdůraznit, že se při testování v blízkosti velice nic moc nedělo a nešlo rozhodně o vyhrocenou situaci.
A ještě jedna drobnost – i přes poměrně vysoké snímkové frekvence jsem se v případě procesoru taktovaného na 2,54 GHz nemohl zbavit pocitu, že je hra o něco línější a reaguje s větším zpožděním.
Rozdíly ve snímkových frekvencích tak můžeme přičítat spíše chybě měření a odlišné situaci na bojišti.
Vytížení grafické karty je téměř ve všech případech kolem 100 %, jen při nejnižší frekvenci 2,52 GHz (žlutá linka) je vidět malé špičky s poklesem vytížení grafiky)
A opět ještě vytížení jednotlivých jader na frekvenci 3,70 GHz, 2,92 GHz a 2,54 GHz. Tečkované je průměrné vytížení procesoru.
Jak poznáte úzké hrdlo
Jak vidíte, při náročnějším nastavení si zejména u sestav s mainstreamovou grafickou kartou a nějakým čtyřjádrem asi nebudete muset moc lámat hlavu, jestli má smysl upgradovat procesor – limit bude pravděpodobně na straně grafické karty.
Pokud se ale budete chtít pohybovat na vyšších snímkových frekvencích, je možné, že už by vás mohl výkon procesoru omezovat. Neřeknu vám, který procesor je dobrý k jaké grafické kartě – na to je ve hře příliš mnoho kombinací procesoru, grafiky a nastavení. Poradím vám ale, jak zjistit, jestli to ve vašem případě vázne spíš na grafické kartě nebo na procesoru.
Pozor na vsync
Asi nejpodstatnější je neprve vypnout vertikální synchronizaci, pokud ji máte aktivní – v případě snímkových frekvencí vyšších než 60 Hz (obvykle) by to dělalo při měření paseku. Pokud dosahuje snímková frekvence stejné hodnoty jako obnovovací frekvence monitoru, je pravděpodobné, že je problém právě v zapnuté vertikální synchronizaci.
V případě měření vytížení procesoru si stačí stáhnout i trial verzi Aidy 64 a zapnout logování do souboru (Soubor>Nastavení>Sledování hardwaru>Protokolování, zaškrtnout příslušné položky pro CPU). Nebo můžete zkusit AMD System monitor (funguje i na CPU Intel).
Obejdete se ale i bez nich – stačí na pozadí spustit správce úloh se záložkou výkon a podívat se, nakolik byl při hraní vytížený. Pokud se bude při hraní vytížení procesoru pohybovat kolem 90 %, je pravděpodobné, že běží na hranici svých možností a brzdí grafiku.
Vytížení CPU můžete konečně zjistit i v populárním MSI Afterburner – spolu s vytížením grafiky a aktuální snímkovou frekvencí a obsazenou pamětí karty zobrazit na OSD přímo ve hře. Návod, jak na OSD dostat i vytížení procesoru, najdete v naší starší novince.
U Afterburneru nás ale bude zajímat spíš zmíněné vytížení grafické karty – pokud vytížení pravidelně padá pod 98 %, nestíhá při daném nastavení procesor.
Další možností, jak zjistit, kde je problém, je OSD vestavěný přímo v Battlefieldu. Do konzole (spustí se tildou) stačí zadat příkaz Render.PerfOverlayVisible 1, který zobrazí graf s aktuálním vytížením procesoru a grafické karty (viz video v čase 6:40 a dále).
Zobrazené údaje (na ose Y) vyjadřují délku, po jakou trvala příprava jednoho snímku. Co je důležitější, kromě špiček, které signalizují zadrhávání a potíže, v něm můžete vidět, zda renderování vázne kvůli grafické kartě nebo procesoru (když je zelená křivka níže než žlutá, je na vině procesor). V takovém případě pak výkon grafiky kopíruje výkon procesoru a vytížení grafiky klesá.
Příkazem Render.DrawFPS 1 ještě zobrazíte vestavěný ukazatel aktuální snímkové frekvence, který zobrazuje průměrnou snímkovou frekvenci za poslední sekundu.
Když budete mít trochu trpělivosti (není to záležitost na dvě hodinky), přihodím ještě dvě stránky s grafy a dám vám o tom vědět formou novinky. Na první bych ještě rád doměřil, jak se na výkonu podepíše deaktivace jednoho a dvou jader, na druhé potom naopak výsledky naměřené s ještě výkonnějším procesorem, který vám bude asi bližší než luxusní platforma LGA 1366 – mám tady totiž ještě zapůjčenou sestavu osazenou procesorem Core i7-2600 K.