A CPU-limit nyomában 2.

A Crysis 3 után elvégeztem a DOOM "boncolását" is CPU-szempontból számos érdekes eredménnyel. – írta: gbors, 7 éve

Bevezetés, elmélet és tesztmódszer

Bevezetés

A sorozat első cikkében a Crysis 3-at vizsgáltam meg alaposabban a CPU-irányából és több érdekes megállapítás mellett arra jutottam, hogy míg a 2013-as DX11-only játék kitűnő kiindulási pont, szükséges volna megnézni egy újabb motort is, lehetőleg olyat, ami a DX11 mellett DX12-t is támogat.
Adta magát második tesztalanyként a DOOM, amivel korábban is teszteltem - még akkor is, ha sem DX11-et, sem DX12-t nem támogat, hiszen standard renderere az OpenGL, a low-level API-k közül pedig a Vulkan-t favorizálja. Egyetlen gondom az volt vele, hogy normális mérőeszközöm nem volt hozzá, ugyanis a VGA-tesztek során használt PresentMon rendszeresen megfagyott és vitte magával a VGA alacsony szintű kezelését, ami rendkívül sűrű újrabootolást és hajtépést tett szükségessé. Szerencsére azóta változott a helyzet, és most már több alternatíva is van FPS-mérésre az újabb alacsony szintű API-k alatt.

A második cikk első oldalán felelevenítjük az alapokat - több helyen az első cikk tartalmát másoltam be egy az egyben, ezt mindenhol külön jeleztem.

Figyelem! Akárcsak az első cikk, ez a szösszenet is inkább egy tudományos kísérletre hajaz, mint egy videojáték-tesztre. "Kihajcsáról" esni fog pár szó, viszont felmerülnek új kérdések is. Annak javaslom a továbbolvasást, aki ténylegesen többet szeretne tudni a CPU-limitről, mint jelenségről.

A 3D képalkotásról és a CPU-limitről röviden ismétlés

Aki még a fenti ijesztgetés után is velünk van, annak valószínűleg sokat nem kell magyarázni, hogyan készülnek a 3D képkockák, viszont a fogalmak egyértelműsége miatt röviden tekintsük át a folyamatot!

A képalkotás első szakaszáért a számítógép azon része felel, amely a VGA-t nem tartalmazza (továbbiakban: platform). A platform megalkotja a majdani képen látható objektumokat, leköveti a mozgásukat (irányítsa őket akár ember, akár AI), fizikai szimulációt végez rajtuk, elhelyezi őket a világban, és amikor mindez megvan, akkor a kész "képvázat" átküldi a videokártyának. A videokártya ezek után esetlegesen további módosításokat végez a megkapott objektumokon (pl. tesszeláció), textúrázza őket, effekteket számol rajtuk, stb., majd az egész objektum-rendszert pixelekké alakítja, és elküldi a megjelenítőnek. Amennyiben a platform gyorsabban tudja előállítani az új képvázakat, mint ahogy a VGA "kiszínezi" őket, akkor VGA-limitről beszélünk, ha a VGA a gyorsabb, akkor platform-limitről. Ha egy adott jelenetben hol a platform gyorsabb, hol a VGA, akkor az a vegyes limit esete.

Amennyiben egy jelenetben (jelenetsorban) a platform lassabban állítja elő a képvázakat, mint ahogy a VGA fel tudja dolgozni, annak három fő oka lehet:
a) Nem elég gyors a CPU (, vagy nincs eléggé kihasználva), ami a fent bemutatott számításokat végzi.
b) Nem elég gyors a rendszermemória, amiben a CPU dolgozik.
c) Nem elég gyors az adatátviteli csatorna (a PCI-Express busz), amin keresztül a platform elküldi a képvázat a VGA-nak.

Értelemszerűen az első esetet hívjuk CPU-limitnek, és a cikk elemzései erre fognak korlátozódni. Ennek oka egyrészt az, hogy a másik két eset jelentősége lényegesen kisebb a többcsatornás memóriavezérlők elterjedése óta, másrészt az sem mindegy, hogy a c) variánst kimérni is lényegesen problémásabb lenne. Fókuszáljunk tehát a platform-limit "legnépszerűbb" változatára, a CPU-limitre!

Konfiguráció

A tesztek az alábbi konfiguráción futottak:

Különbség az előző teszthez képest - néhány teszt erejéig egy négymagos, de alacsony órajelű CPU-variánst is megfuttattam.

Extrém CPU-limites környezet előállítása ismétlés

Mint minden játékos mérést, a CPU-limit vizsgálatát is összehasonlító elemzéssel tudjuk végezni. Ezért nem elég, ha előállítunk egy nagyjából CPU-limites állapotot, mert a különféle egyéb mérések könnyen VGA-limitre szaladhatnak, és akkor süthetjük a következtetéseket. Ezért a teszthez mindenképpen szükség van egy olyan konfigurációra, ahol nagyon erősen a CPU a korlátozó tényező. Ilyet korlátlan források mellett nem nehéz előállítani - vesz az ember egy GTX Titan XP-t, mellétesz egy Pentium G4400-at, és készen is van.
Sajnos nekem a meglévő eszközökből kellett "főznöm", és a gépemben dolgozó GTX 1050Ti videokártya finoman szólva sem egy rakéta. Ezen a helyzeten úgy segítettem, hogy az i3-6100-as CPU-t igen alaposan lekorlátoztam - elsősorban kikapcsoltam a hyperthreadinget, másodsorban pedig visszavettem az órajelet 2.0 GHz-re. Tekintettel arra, hogy ilyen paraméterekkel bőven vannak forgalomban CPU-k, azon nem kellett aggódnom, hogy túltolom a gyengítést, és bedőlnek a mérések (nem is dőltek), viszont az i3-6100 eredeti sebességének 30-50%-ára sikerült így lemenni, azaz a VGA relatív sebessége 2-3-szorosára nőtt.

A CPU és a VGA viszonya mellett fontos tényező a CPU-limitben a videokártya játékbeli terhelése. Ezen rögtön vágtam egy alaposat azzal, hogy 1280×720-ban végeztem a fő méréseket - bár ezúttal az 1920×1080-as felbontás is kapott szerepet.

Életkép tesztelés előtt

Tesztmódszer

A tesztek során a DOOM ingyenes demóverzióját használtam. Ugyanúgy kezdtem neki a méréseknek, mint a Crysis 3 esetében (az 1280×720 Low preset alapmérés után elkezdtem felkapcsolgatni az egyes beállításokat Ultra szintre), de hamar rá kellett jönnöm, hogy teljesen más típusú motorral van dolgom, mint a Cryengine, ezért a beállításokat "tömbösítve" kezdtem el mérni, és igencsak megleptek az eredmények. Ugorjunk is tovább rájuk!

A cikk még nem ért véget, kérlek, lapozz!

Azóta történt

  • Ryzen 3 1200 VS RX 570

    A Ryzen 3 1200 (vagy a hasonló i3-ak) nem elegendő egy RX 570 szintű VGA kihajtásához. Vagy mégis?

Előzmények