Új hozzászólás Aktív témák

  • Menthirist

    veterán

    válasz MasterDeeJay #54671 üzenetére

    Nah hát van is 5 éves már ez a cikk, plusz akkor is kb csak ebben a benchmarknak nevezhető játékban működött. Plusz még a teljesítmény sem volt ugyanolyan pl a Fury - 980Ti és a 980Ti - Fury esetében, szóval látszik hogy még itt is megvoltak a maguk érdekességei.
    És továbbra is csak baromi kevés játék támogatta a sima multi gpu-t is (dx12-ben), az explicit multi gpu-t (tehát ahol keverheted a kártyákat és gyártókat) pedig kb csak az oxide és az Ashes of the Singularity. Könnyű azt mondani, hogy van egy poolnyi feldolgozó meg egy poolnyi vram, de a mai játékokat egyrészt nagyon erősen architektúrára optimalizálják (GCN, RDNA, Ampere, Turing, stb), mindegyiknél más és más határok és lehetőségek vannak. Plusz ugye gondolj bele, milyen komplexitást jelent az, amikor nem tudod, hogy a memory poolban lévő adatod most melyik gpu-hoz van közelebb, meg melyik gpu-n milyen kódnak kell futnia.

    Ahol támogatva volt a dx12 multi gpu, ott sem mindenen, pl a deus ex-ben nem ment nvidia kártyákon, míg a shadows of the tomb raiderben talán amd-ken volt bugos.

    Végül pedig van egy ökölszabály: minél általánosabban kódolsz hogy több eszközön fusson valami, annál lassabb lesz a kódod. Ha gyorsulni akarsz, akkor nagyon fókuszálni kell az optimalizációt, ezért voltak képesek megdöbbentő látványra pl ps4-en is a ciklusa végén is, mikor a benne lévő gpu már megjelenéskor is max egy közepes pc-s kártyának felelt meg. Van egy könyvem a játékmotorok fejlesztéséről, az a Jason Gregory írta, aki a Naughty Dog (Uncharted sorozat) vezető programozója, abban írta hogy konkrétan float reprezentáció szinten optimalizáltak. No meg konzolon, de a dx12 és vulkan óta pc-n is, magadnak kell gondoskodni a memóriakezelésről, mekkora területet foglalsz le (az malloc nagyon erőforrásigényes, úgyhogy előre le kell foglalni egy nagy memóriarészt), és abban az adatokat magadnak kell tárolni és biztosítani pl a töredezettségmentesítést, melyik legyen heap-ként használva, hol a stack, stb. Most gondolhatod hogy ezeket nem tudod ilyen szinten kezelni, sőt a rendszer elrejti előled, és találgathatsz hogy mi hogy működik, milyen felületes kódot lehet csak írni, ahhoz képest, mint amikor tudod mennyi vramod van, mennyi feldolgozód, és pontosan milyen architektúrád.

    Star Citizen FAQ http://starcitizen.hu/star-citizen-faq-az-ujaknak/ (Mielőtt kérdeznél)

Új hozzászólás Aktív témák