Na rynku istnieją obecnie trzy wiodące technologie upscallingu w grach. Są nimi NVIDIA DLSS, AMD FSR oraz Intel XeSS. Dwie z nich (DLSS i XeSS) wykorzystują uczenie maszynowe, sztuczną inteligencję i moc obliczeniową zapewnianą przez karty graficzne. Technologie te w wymierny sposób zwiększają liczbę klatek na sekundę w grach, zwłaszcza po aktywowaniu w nich najbardziej zasobożernej technologii ostatnich lat – ray tracingu. Śledzenie promieni w czasie rzeczywistym wymaga tak dużej mocy obliczeniowej, że sprawnie radzą sobie z nim wyłącznie najdroższe i najwydajniejsze urządzenia. Pewnemu deweloperowi udało się uruchomić grę z ray tracingiem bez GPU. Efekt? Spodziewany.
Ray tracing bez GPU
Deweloper Konstantin Seurer postanowił zmodyfikować otwartoźródłową bibliotekę graficzną Mesa, dodając obsługę ray tracingu Vulkan bezpośrednio do kodu procesora (CPU). Włączając funkcjonalność VK_KHR_ray_query, Seurer aktywował śledzenie promieni z pominięciem procesora graficznego. Aby dowieść, że wszystko działa jak należy, uruchomił Quake II RTX z włączonym śledzeniem promieni korzystającym z mocy obliczeniowej procesora.
- Nie przegap: AMD szykuje upscalling AI. FSR w końcu dorówna DLSS?
Seurer przyznał, że jego działanie opierało się przede wszystkim na przenoszeniu kodu ze sterowników RADV Vulkan, które zaprojektowano dla kart graficznych AMD Radeon. Nie ujawnił najważniejszego: z jakiego procesora korzystał. Czy był to jakiś popularny procesor znany z komputerów do gier? A może 96-rdzeniowy AMD Threadripper? Układ mobilny? Nie znamy nawet ustawień graficznych.
Mniej niż 1 klatka na sekundę z włączonym ray tracingiem. Dlaczego mniej? Zobaczcie na towarzyszącą FPS wartość 1629,2 ms… Dokładnie taką płynność animacji udało się uzyskać zdolnemu programiście. Sztuka dla sztuki? Raczej nic innego.
Co zastanawiające, wykorzystanie procesora w momencie wykonywania zrzutu ekranu wynosiło 34 procent. Dlaczego nie 100 procent? Czy gdyby sięgnęło maksimum, ujrzelibyśmy więcej klatek na sekundę? Trudno powiedzieć.
Kod śledzenia promieni Seurera zostanie zaimplementowany w nadchodzącej wersji Mesa 24.1.
Źródło: gitlab.freedesktop.org