Soms kunnen nieuwe technologieën werken op oude hardware. Wie heeft een van de beste grafische kaarten nodig als je gewoon oudere hardware kunt gebruiken? Deze week hebben enthousiastelingen die werken aan Mesa, een open source implementatie van OpenGL en Vulkan API's voor Linux, een samenvoegverzoek ingediend voor de RADV ray tracing driver voor AMD's RDNA 2 GPU's, zodat deze kan werken met grafische kaarten van de vorige generatie. De vraag is, hoe goed zullen ze werken?
"Dit PR implementeert ray-tracing voor oudere generaties (Navi, Vega, Polaris, etc.)," schrijft Joshua Ashton, een ontwikkelaar van DXVK en andere Direct3D-on-Vulkan-werken voor Valve, meldt Phoronix. "Het doet dit door de AMD bvh intersectie-instructies in software te emuleren. Op dit moment passeert deze CTS hetzelfde als op RDNA 2-kaarten."
De afgelopen tijd is software en hardware ray tracing ondersteuning het middelpunt geweest van veel industriële discussies, omdat de technologie goed geïmplementeerd moet worden om significante kwaliteitsverbeteringen te brengen. Maar dat zorgt ook voor enorme prestatie klappen, zelfs op moderne hardware die hardware versnelling voor ray tracing ondersteunt, zoals AMD's Radeon RX 6000-serie GPU's gebaseerd op de RDNA 2 architectuur.
Ubisofts beslissing om ray tracing niet te implementeren in Far Cry 6 voor de nieuwste spelconsoles illustreert deze controverse. Maar blijkbaar willen Linux enthousiastelingen ray tracing ondersteuning in Vulkan mogelijk maken, zelfs op verouderde architecturen zoals de originele RDNA uit 2019 en GCN 4/5 uit 2016/2017.
Er zijn zes niveaus van hardware ray tracing ondersteuning door GPU's, volgens Jon Peddie, het hoofd van Jon Peddie Research. Van RDNA 2 GPU's wordt aangenomen dat ze op niveau 3 zitten, omdat ze Bounding Volume Hierarchy (BVH) verwerking in hardware ondersteunen. Ondertussen ondersteunen GPU's op basis van AMD's architecturen die in 2016-2019 zijn geïntroduceerd geen hardwareversnelling voor ray tracing, maar ze kunnen BVH-verwerking emuleren in software met behulp van ray-box en ray-triangle-testers via standaard shader-instructies.
Hoewel dergelijke emulatie legitiem is en vergelijkbare resultaten kan opleveren als Level 3 RT-hardware, vereist het ook een enorme investering van rekenkracht voor real-time gaming, iets dat verouderde GPU's gewoon niet hebben. AMD heeft verklaard dat zijn ray accelerators ongeveer tien keer sneller zijn dan hetzelfde werk te doen via shaders, bijvoorbeeld. Natuurlijk kan ray tracing worden gebruikt om prachtige beelden te maken die niet in real time zijn, maar degenen die deze mogelijkheid nodig hebben, kunnen zich meestal de juiste hardware veroorloven. Niettemin is het idee om ray tracing ondersteuning toe te voegen aan hardware van de vorige generatie theoretisch interessant.
Nvidia ondersteunt bijvoorbeeld DirectX Raytracing (DXR) op zijn GTX 10- en 16-serie GPU's (met 6 GB of meer VRAM) via drivers die de ray tracing-berekeningen emuleren via software. Zelfs de snelste van dergelijke GPU's - de GTX 1080 Ti - heeft de neiging om te presteren op minder dan de helft van de niet-DXR snelheid, en dat was in 'lichtere' eerste-gen DXR games zoals Battlefield V, Shadow of the Tomb Raider en Metro Exodus. We zouden verwachten dat het uitvoeren van RT-berekeningen in software op AMD-hardware een vergelijkbare prestatieklap zou laten zien.