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

  • Petykemano

    veterán

    válasz távcsőves #26964 üzenetére

    Nem teljesen.

    Azt meséli el, hogy az nvidia a fermivel vezette be a hardveres ütemezőt, de sokat fogyasztott, ezért a keplerrel váltott vissza szoftveres ütemezőre. Az AMD pedig a gcnnel váltott hardveresre és még nem adta fel.
    Akkoriban a játékok csak 1-2 magot fogtak be beleértve a draw callokat is. Dx11 esetém az elsődleges programszál kezeli le ezeket. Az nvidia a civ5 példájából tanulva talált módot arra, hogy a szoftveres ütemező feladatait szétterítse a kihasználatlan magok között egy pici többletterhelés mellett. Így az nvidia driver több cput használ, de nem az elsődleges programszálat terheli, ezért az nem jelent bottlenécket. Ellentétben az amd esetével, ahol nem tudtak/akartak "trükközni" szoftveresen, mert hardveres ütemező van. Ezért minden draw call művelet az elsődleges szálat terheli.

    A pénz ott jön képbe, hogy ha akarom, lehet úgy programozni a játékot, higy az elsődleges szál tehermentesített (ez kedvez az amdnek), meg úgy is, hogy nem. Ez meg rossz az amdnek. Ez önmagában az nvidiának senem jobb, senem rossszabb.

    Két dolog válroztatott a hélyzeten. Technikai értelemben persze. Az egyik, hogy a programok elkezdtek több szálat használni. És amikor a program már azokat a szálakat is befogja, amelyeket eddig.csak az nvidia driver terhelt, akkor ott is jelemtkezhet CPU bottleneck. Hovatovább ha az elsődleges szál tehermentesített, hogy az amdnek is feküdjön, akkor nvidia esetén előbb is jöhet CPU bottleneck, mert alapvetően az nvidia driver ezen tööbszálúsított működése több cput használ. Erről abu is sokat anekdotázott, csak sose magyarázta el így.

    A másik dolog pedig a dx12, ami lehetővé teszi az összes programszálnak, hogy draw call műveleteket küldjön. Ezeket a gcn hardware ütemezője szépen kezeli is. Ezzel a az amd megszabadult az elsődleges szálhoz való kötődéstől és annak szűk keresztmetszetétől. Az nvidia driver viszont továbbra is több cput használ, mert a pöpéc ütemezés szoftveres és ezért hamarabb ütközik CPU limitbe. Abu erről is írt párszor, de akkor emulációkról beszélt, ezért senki nem értette.

    Egyik megoldás sem jobb a másiknál, csak más.

    A pénz ott jön képbe, hogy az nvidiának van, tudja befolyásolni azt, hogy milyen prűgramozásban kerülnek portolásra a konzolos játékok. Az amd meg igyekszik hardveresen kiküszöbölni azokat a csapdákat, amiket az nvidia állít. Pl tesszeláció vs primitive discard engine. És hogy ezt a Vegának folytatnia kell.

    A ryzen ott jön képbe, hogy az nvidia driver mivel sok cput használ, ezért optimalizálni kellhet a ryzenre. A sok szál sokat kommunikál egymással, ez meg a ryzen gyengéje. Ezért is szerepelhet gyengébben a ryzen az Intel procikkal szemben. Mert az nvidia driver sokat kommunikála ccxek között. Ellenben amd driver esetén ilyen nincs, ezért amd gpu esetén nem jelentkezik hátrány az Intel CPU-val szemben.

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

Hirdetés