A Microsoft nemrégiben jelentette be friss újítását, ami a Work Graphs nevet viseli, és aminek elsődleges feladata az, hogy a GPU munkavégzését hatékonyabbá tegye. Az újítás hatására a GPU több munkát tud saját maga elvégezni, kevésbé támaszkodik a CPU-ra, ami nemcsak akkor jöhet jól, ha az adott környezet CPU limit jeleit mutatja, hanem normál esetben is, hiszen segít a teljesítmény látványos növelésében.
A GDC 2024 alkalmával az AMD csapata meg is mutatta, milyen lehetőségeket tartogat az újítás, már ami a teljesítményt illeti. Azt érdemes leszögezni, hogy a Work Graphs még gyerekcipőben jár, a lenti számok meglehetősen koraiak, azaz még sok-sok munkára lesz szükség ahhoz, hogy a benne rejlő lehetőségeket minél inkább ki lehessen aknázni.
A szóban forgó technológia bevetését az Epic szakemberei régóta javasolják, évek óta kardoskodnak mellette, és nemrégiben célt is értek, ugyanis a Microsoft csapata úgy döntött, a DirectX 12 részévé teszik az újítást. A lenti demót a Cuburg University szakemberei készítették, akik úgy látják, jelentős előrelépést hoz majd a grafikai programozás területén. Az újítás hatására a 3D renderelést végző futószalag bizonyos részeit a GPU kontrollálhatja, ami a teljesítmény és a hatékonyság növekedését eredményezi. A Work Graphs keretén belül egyelőre még csak bizonyos feladatok irányítására van lehetőség, amelyeket eddig a processzor irányított (például Dispatch Calls, Shaders, Node Executions), ám a későbbiekben ezek köre tovább bővülhet, azaz a GPU által közvetlenül végezhető feladatok száma növekedhet, az így felszabaduló CPU időt pedig egyéb munkákra lehet fordítani, ami növelheti a teljesítményt. Ezzel egy időben a GPU alapú futószalagban rejlő lehetőségeket még több alkalmazás és felhasználási terület esetében lehet majd kamatoztatni, ami izgalmas jövőt ígér.
A tesztben képkockánként 6600 draw call valósult meg, képkockánként 13 millió háromszög készült el, 200 000 munkatétel futott át a graphon, valamint 37 node és 9 draw node volt használatban. A teszt egy Ryzen 7 5800X típusú processzorral, 32 GB-nyi DDR4-es rendszermemóriával és egy Radeon RX 7900 XTX videokártyával felszerelt rendszeren futott le.
Az eredmény alapján az ExecuteIndirect mellett futó teszthez képest a Work Graphs jelentősen gyorsabbnak bizonyult, ugyanis míg előbbi 1,64x, addig előbbi 1x sebességet produkált, vagyis a Work Graphs összességében 39%-kal gyorsabbnak minősült, míg az ExecuteIndirect 64%-kal lassabb lett. Ezek a számok később, ahogy az optimalizációk érkeznek, illetve ahogy egyre több feladatot kontrollálhat majd a GPU, mindenképpen javulhatnak.
A teszttel és a Work Graphs technológiával kapcsolatban további részletek az AMD bejegyzésében olvashatóak.