Ray-Tracing, czyli owoc zakazany dla kart starszej generacji
Jak zapewne pamiętacie, technologia Real Time Ray Tracing, czyli śledzenia promieni świetlnych w czasie rzeczywistym, znalazła się w zasięgu każdego konsumenta pod koniec 2018 roku, razem z premierą kart graficznych z serii NVIDIA RTX 2000. Wcześniej ta technologia była stosowana głównie do renderowania, co ma sens, bo generowanie kolejnych klatek, składających się następnie na sceny, z użyciem Ray Tracingu znacząco obciąża układ graficzny.
Czytaj też: Domniemana specyfikacja GeForce RTX 3000 SUPER. Jak NVIDIA odświeży swoje karty?
To w przypadku dzieł interaktywnych, jakimi są gry, nabiera zupełnie nowego wymiaru potrzebnej wydajności, która musi zostać dostarczona ceną czegoś innego, a tym czymś jest najczęściej płynność gry. Dlatego te od dawna bazują na tak zwanej rasteryzacji, czyli podejścia, w ramach którego powierzchnia każdego obiektu jest cieniowana na podstawie właściwości ich materiału i padającego na nie światła.
Czytaj też: Oto urządzenia stworzone dla Windowsa 11. Nowa seria Microsoft Surface
To sprytne podejście nie tylko zapewniło, stosującym je powszechnie tytułom, naprawdę wysoką jakość ogólną oświetlenia, ale też pozwoliło na odciążenie GPU. Problem w tym, że jest to sztuczne generowanie światła, odbić i cieni, a nie znacznie bardziej naturalne, jak w przypadku Ray-Tracingu. Ten towarzyszy nam w grach dopiero od trzech lat nie bez powodu, a przez zapewnianie procesorom graficznym rdzeni RT w przypadku NVIDIA (od RTX 2000) oraz Ray Accelerator w przypadku AMD i jej architektury RDNA2.
Dzięki aktualizacji MESA można sprawdzić technologię Ray-Tracing na starszych kartach graficznych AMD
W obu przypadkach mowa o specjalnych, fizycznych rdzeniach w GPU, które odpowiadają właśnie za algorytmy stojące za obliczeniami związanymi z Ray-Tracingiem. Są do tego specjalnie zaprojektowane od podstaw, aby lepiej radzić sobie z dwoma głównymi etapami procesu renderowania scen ze śledzeniem promieni światła. W grę wchodzą więc specjalne algorytmy, z którymi bez problemu radzą sobie rdzenie RT i Ray Accelerator, ale tego samego nie można powiedzieć o tych zwyczajnych (CUDA, FP32), co sprawia, że Ray Tracing na zwykłych kartach powoduje znacznie niższą płynność, a tym samym ogólną jakość.
Czytaj też: Europejski procesor EPAC na bazie RISC-V już w testach. Krok do niezależności Unii Europejskiej
Jednak nieoczekiwanie, Mesa, czyli implementacja OpenGL i Vulkan API dla systemu Linux, właśnie otrzymała aktualizację, która jest w stanie zapewnić obsługę technologii Ray Tracing w starszych kartach AMD (przed Radeon RX 6000). Mowa o tych z procesorami Navi 1X, Vega i nawet Polaris, przed którymi stawia się w tym celu wymóg emulacji instrukcji przecięcia AMD BVH (więcej o tym tutaj). Angażuje to podstawowe jednostki obliczeniowe GPU, ale najwyraźniej działa, co potwierdza przykład Quake II.