Výskumné oddelenie spoločnosti Microsoft sa usilovne snaží, aby sa ray tracing stal dostupnejšou funkciou pre hry budúcnosti. Nový patent jedného z vedúcich architektov tímu opisuje, ako možno znížiť zaťaženie pamäte a vyrovnávacej pamäte pre hierarchie ohraničených objemov (BVH – Bounding Volume Hierarchies) – štruktúry používané na zrýchlenie sledovania „lúčov“ – použitím podobného prístupu ako pri aplikácii textúr Level of Detail (LOD).
Zatiaľ čo konzoly Xbox spoločnosti Microsoft by boli hlavným príjemcom tejto techniky, potenciálnym víťazom sú aj tradične slabé grafické procesory AMD s ray tracingom a grafické karty, ktoré nie sú obdarené tonou VRAM.
Ako pri všetkých podobných patentoch, aj tu sú podrobnosti zložité, ale zároveň široké z hľadiska toho, kde by sa dali využiť. Jeho autor Mark Grossman je vedúcim architektom vo výskumnej divízii spoločnosti Microsoft. Špecializuje sa na vývoj čipov a má za sebou dlhú a významnú kariéru v oblasti GPU (začínal v Silicon Graphics, potom prešiel do ATI Technologies, potom do AMD a nakoniec do Microsoftu).
Minulý rok mu bol schválený patent na zníženie pamäťovej náročnosti meshletov, malých skupín polygónov, ktoré sa používajú v mesh shaderoch. Jeho najnovší patent (prostredníctvom Tom’s Hardware) má takmer identický formát. Na urýchlenie procesu sledovania svetelných lúčov sa v hrách používajú štruktúry BVH, ktoré sú tak trochu ako bloková schéma objemov, ktoré zaberajú objekty v 3D svete. BVH sú rozdelené na veľkú celkovú mapu, ktorá sa nazýva štruktúra zrýchlenia najvyššej úrovne (TLAS), a viacero menších štruktúr najnižšej úrovne (BLAS).
V Cyberpunku 2077 je priemerná veľkosť TLAS približne 15 až 20 MB, ale celková veľkosť BLAS je mnohonásobne väčšia a dosahuje stovky alebo tisíce megabajtov. Ak má vaša grafická karta 16 GB alebo viac VRAM, nie je to v podstate problém, ale ak máte 8 GB alebo menej, nie je ťažké pochopiť, prečo sa to môže stať problémom. A to platí najmä pre konzoly so zdieľanými pamäťovými fondmi.
Technika spoločnosti Microsoft zabraňuje využívaniu celej BVH v jednom kroku. Namiesto toho sa naraz využívajú jej malé časti a podrobnosti o tomto využití a príslušná časť BVH (nazývaná uzol) sa ukladajú do dvoch zoznamov v pamäti GPU. S každým ďalším snímkom algoritmus sledovania lúčov aktualizuje tieto zoznamy, čím sa zabezpečí, že v pamäti VRAM sa uložia len uzly, ktoré sa majú v scéne použiť (zvyšok jednoducho nie je viditeľný alebo sa ho neoplatí používať).
Všimnite si, že tento systém nielen znižuje zaťaženie pamäte grafickej karty a vyrovnávacej pamäte GPU, ale znižuje aj množstvo kontrol sledovania lúčov, ktoré je potrebné vykonať. Namiesto toho, aby sa neustále prechádzalo celou štruktúrou BVH a zisťovalo sa, ktoré lúče interagujú s ktorými objektmi, je potrebné kontrolovať len tie, ktoré sú v zoznamoch (nazývaných mapa pobytu a záznamu).
Pre grafické procesory AMD je to dôležité, pretože na rozdiel od GPU spoločnosti Nvidia nemajú žiadny špecializovaný hardvér na urýchlenie procesu prechádzania. Namiesto toho sa všetko rieši prostredníctvom výpočtových shaderov. Obaja výrobcovia majú špecializované jednotky na testovanie priesečníkov ray-box a ray-triangle. Takže obaja tieto veci odkontrolujú veľmi rýchlo, ale RDNA 2 a novšie GPU strávia pomerne veľa času prácou cez BVH.
Hoci je teda celá táto práca prínosom pre Xbox, bola by prínosom aj pre všetky herné počítače s grafickou kartou Radeon, ktoré sú vybavené grafickým procesorom RDNA 2 alebo RDNA 3.
Áno, toto všetko je veľmi komplikované a takmer určite to príliš zjednodušujem, ale jedna vec, ktorej majú najlepšie herné počítače a konzoly dostatok, je výpočtový výkon. Takže má zmysel využiť niečo, čo síce zahŕňa veľa ďalších, ale základných výpočtov, ale znižuje zaťaženie pamäte a ray tracingu.
Hoci je patent spoločnosti Microsoft primárne zameraný na zlepšenie výkonu ray tracingu na konzolách Xbox radu X, táto technika by sa dala implementovať na akejkoľvek platforme, pretože nie je špecifická pre žiadny konkrétny hardvér. Ak teda máte mainstreamovú grafickú kartu, ako napríklad GeForce RTX 4060 alebo Radeon RX 7600, potom by ste mohli mať v blízkej budúcnosti možnosť využívať ray tracing v hrách.