To zlepšuje výkon procesoru vaší grafické karty

Komponenty PC jsou každý den více propojeny, což je nepochybně výhoda, protože nejsou izolované a ztrácí se latence. Ale když mluvíme o procesor a GPU, při pohledu na herní výkon vždy vyvstane pochybnost. Může a procesor použít GPU VRAM ve svůj prospěch? Získáváte v takovém případě výkon nebo o něj přicházíte? Pojďme se na to podívat.

No, je to opravdu velmi diskutované téma, protože existuje mnoho nepravdivých mýtů o tom, co procesor umí nebo neumí a jak to dokáže s VRAM grafické karty. Pokusíme se jednou provždy vyčistit mýty, abychom pochopili limity obou.

zlepšuje výkon procesoru a grafické karty

Procesor a VRAM, vztah láska/nenávist?

První věc, kterou si musíme ujasnit, jsou pojmy jako přístup a školení. CPU má velmi omezený přístup k VRAM, jednoduše pro přiřazení spousty paměti a umístění jako takových, ale v rámci tohoto konceptu přístupu je nutné se trochu kvalifikovat.

CPU a jeho PCIe řadič a VRAM nejsou přímo propojeny, jako je tomu u GPU. Ke sběrnici PCIe potřebujete přistupovat přes ovladač GPU, BIOS/Firmware, který zase zpracovává grafické rozhraní API (v tomto případě DX12) a odtud získáte omezený přístup k VRAM, jak říkáme, prostřednictvím alokace bloků. Problém nastává v přidělování vyrovnávacích pamětí pro vrcholy neboli VB, protože o nich musí rozhodnout grafické API, kam musí informace jít a jak se k nim přistupuje.

Načítání-VB-z-DX12

K tomu se používají atributy vertex nebo VAF, které obecně nejsou ve většině her implementovány dobře, protože CPU zpracovává adresy a informace pro GPU, prochází mezipamětí a odtud jdou do Systém RAM , který posílá indikace pro načtení DRAW na sběrnici PCIe z DDR a odtud kupodivu jdou do mezipaměť GPU .

Tím se ušetří předchozí krok, ale jak vidíme, úplně jsme vynechali VRAM, takže programátoři a Microsoft, spolu s NVIDIA a AMD viděl, že existuje mnohem optimálnější způsob, jak propojit VRAM a CPU.

PCI-SIG ReBar a VRAM

Jak jistě víme, přístup k VRAM probíhal až do implementace dvou společností v blocích 256 MB segmentované , ale ty musely projít strukturou, o které jsme mluvili dříve. Legrační je, že to nebylo nutné, protože PCI-SIG již měl armování v jejích řadách od té doby PCIe 2.0 takže oba byli s tímto omezením pozadu.

Preloading-VB-to-VRAM Bar s nastavitelnou velikostí a Inteligentní přístupová paměť odstranil problém přidáním úlohy ke zkopírování informací přiřazených k a podjádro , tedy k vláknu procesoru (obecně je paralelizovatelné, ale má to vliv na jeho výkon).

Cesta tedy nyní vedla dvěma způsoby. V jednom CPU zapisuje informace do RAM poté, co je zpracována mezipamětí, zatímco na druhé straně existuje kopie, která je odeslána přes PCIe do VRAM a odtud to jde do keše, aby to skončilo ve VAF jako takovém.

co s tím získáme? Že CPU přímo zapisuje kopii informací do VRAM a že s tím pracuje mezipaměť grafické karty, takže když je to nutné a uznáno za vhodné přes API , informace jsou přístupné z paměti RAM , který to má přiřazeno již před voláním, se textury stáhnou do VRAM (RAMDisk) a odtud se po předchozí práci jeho cache přenesou na GPU, což zkrátí celkovou přístupovou dobu a zvýší výkon jako obecně pravidlo.

Preloading-VRAM-CPUpng

Nakonec má CPU přístup k VRAM, ano, ale pouze poslat mu kopii pracovních informací takže to šetří čas vykreslování a vypínání sběrnice, stejně jako zbytečné přepínání mezi CPU a GPU, protože to vše samozřejmě díky jednotkám GART a DMA.

Je třeba také objasnit, že CPU „nevidí“ VRAM jako paměťovou jednotku jako takovou. To, co vidíte, je zařízení (GPU) připojený ke sběrnici PCIe a přiřazený typ paměti, tak jednoduché. Je to API a ovladač, které mají (po načtení firmwaru) na starosti práci jedním nebo druhým směrem, protože jak říkáme, vývojář musí mít také engine, který tyto načtení a kopie zvládne. Z tohoto důvodu budou CPU a VRAM fungovat tak či onak, s tou či onou metodou.