DirectX 12 Multiadapter: Microsoft předvedl „SLI“ z grafik Nvidia a Intel

5. 5. 2015

Sdílet

 Autor: Redakce

V únoru jsme zde zprostředkovávali zvěst, že se pod DirectX stane možnou donedávna neuvěřitelná věc – hybridní multi-GPU, kdy spolu budou moci na vykreslování hry spolupracovat grafické karty různých typů, architektur, ale i značek. Ukazuje se, že tento drb se zakládal na pravdě, Microsoft už tuto schopnost nového API oficiálně prezentoval. Na konferenci Build byla vylepšená práce s více GPU demonstrována na demech od Square Enix a Epic Games; Microsoft tuto funkci pojmenoval DirectX 12 Multiadapter.

Podpora režimů jako je SLI nebo CrossFire bude pod DirectX explicitní – API bude přímo počítat s možností používat více GPU a aplikace (či jejich 3D engine) budou mít možnost jejich využití přímo řídit. To má přinést efektivnější využití prostředků a GPU budou moci pracovat jak každá zvlášť na svém snímku (AFR), tak všechna naráz na jednom (SFR). Práce na scéně může být například rozdělená tak, že jednotlivá GPU nebudou muset mít kompletní sadu dat pro celý snímek, takže se nebude zbytečně marnit kapacita paměti, jako je tomu nyní, kdy mají GPU dohromady efektivně jen tolik paměti, kolik je na jedné kartě.

Přínosy DirectX 12 Multiadapter mělo demonstrovat demo nazvané „Witch Chapter 0 [cry]“ od Square Enix, které bylo na Buildu promítnuto. Má obsahovat 65 milionů polygonů a textury s rozlišením 64 megapixelů (zdá se ale, že běželo na čtyřech kartách Nvidia GeForce GTX Titan X, takže reálná herní grafika takhle hned tak vypadat nebude). Demo můžete vidět na Youtube, ovšem vzhledem k rozlišení a tradičně příšerné kompresi této služby těžko říct, zda je úroveň grafiky skutečně tak dechberoucí.

 

Explicit Multiadapter: partnerství mezi konkurenčními grafikami

Ovšem zpět k onomu hybridnímu kombinování různých grafik. Tuto schopnost Microsoft ukázal na Unreal Enginu 4 od Epic Games. Pokud engine přímo řídí rozdělení úloh při vykreslování (tento režim se nazývá Explicit Multiadapter), lze vykreslování jednoho snímku rozdělit na nezávislé části a tyto přidělit různým GPU. Demo na Buildu takto použilo kombinaci diskrétní grafiky GeForce a integrovaného GPU v procesoru Intel (podmínkou je samozřejmě, aby obojí podporovalo DirectX). Architektura je tedy podle všeho dostatečně robustní, aby zvládla i rozdílné ovladače, architektury a schopnosti grafik různých značek.

 

Vzhledem k nepoměru výkonů nelze v takovémto případě použít tradiční metody jako AFR nebo SFR. Integrovaná grafika ale přesto může pomoci například s post-procesingem. Hodně her totiž používá efekty, které jsou počítány po vykreslení základního snímku a běží v podstatě v separátním průchodu. To znamená, že je může převzít slabší grafika, zatímco hlavní GPU bude osvobozeno od zátěže navíc. Zbude mu víc páry na vykreslování samotné scény, takže celkově z konfigurace vymáčknete o pár FPS navíc. Posílání snímků po sběrnici nicméně bude mít svou cenu a separátní postprocesing by měl zvyšovat latenci (to by se ale dalo zmírnit, pokud by hlavní GPU nečekalo s posíláním na dokončení a integrovaná grafika dostávala průběžně řádky nebo řady bloků).

Explicit Multiadapter: spřažení karty GeForce s integrovanou grafikou Intel zrychlí benchmark asi o 10 % (Build 2015)

Explicit Multiadapter: spřažení karty GeForce s integrovanou grafikou Intel zrychlí benchmark asi o 10 % (Build 2015)
Explicit Multiadapter: spřažení karty GeForce s integrovanou grafikou Intel zrychlí benchmark asi o 10 % (Build 2015)

Při testu se na demu podařilo dosáhnout nedramatického, avšak hmatatelného zvýšení FPS. Z 35,9 snímků při použití jen samostatné karty se přidáním grafiky Intel stalo 39,7 snímků za vteřinu, což je zlepšení o 10 %. Při běhu byla karta GeForce zatížena na 100 % a adaptér Intel zhruba na 70 %. V praxi asi bude nutné dobré ladění, aby se nestal opak, totiž že příliš pomalá integrovaná grafika nebude stíhat a svou „výpomocí“ vytvoří úzké hrdlo výkonu, kvůli němuž zůstane hlavní GPU nevyužité a celkové vykreslování se zpomalí.

Slabší integrované GPU přebírá část scény, vykreslování je díky tomu celkově rychlejší (Build 2015)
Slabší integrované GPU přebírá část scény, vykreslování je díky tomu celkově rychlejší (Build 2015)

ICTS24

Jak využitelné takovéto „nečistokrevné“ SLI/CrossFire bude v praxi, si zatím moc netroufám říct. Jeho použití asi bude do vývoje hry přinášet komplexitu navíc, takže pochybuji, že bude dostupné ve všech titulech. Na druhou stranu, pokud by jej nějak dobře implementovaly velké herní enginy, možná by mohlo fungovat docela často. Herních PC s kombinací dedikované grafiky a integrovaného GPU je velké množství (u Intelu je to vlastně u každého CPU mimo Xeony a platformy LGA 2011), takže by myslím tato funkce nemusela zapadnout.

Zdroj: Microsoft