Friday, March 8th 2024
Mesa CPU-based Vulkan Driver Gets Ray Tracing Support - Quake II Performance Hits 1 FPS
Konstantin Seurer, a Mesa developer, has spent the past couple of months working on CPU-based Vulkan ray tracing—naturally, some folks will express scepticism about this project's practicality. Seurer has already set expectations with a brief message: "don't ask about performance." His GitLab merge request page attracted Michael Larabel's attention—the Phoronix founder and principal author was suitably impressed with Seurer's coding wizardry. He: "managed to implement support for VK_KHR_acceleration_structure, VK_KHR_deferred_host_operations, and VK_KHR_ray_query for Lavapipe. This Lavapipe Vulkan ray tracing support is based in part on porting code from the emulated ray tracing worked on for RADV with older Radeon GPUs." A lone screenshot provided evidence of Quake II running at 1 FPS with Vulkan ray tracing enabled—this "atrocious" performance was achieved thanks to a Mesa Lavapipe driver "implementing the Vulkan API for CPU-based execution."
VideoCardz has highlighted an older example of CPU-based rendering techniques: "this is not the first time we heard about ray tracing on the CPU in Quake. In 2008, Intel demonstrated Enemy Territory: Quake Wars running at 720p resolution at 14 to 29 FPS on 16 core and 20-35 FPS at 24 core CPUs (quad-socket). The basic implementation of ray tracing in 2008 is not comparable to complex ray tracing techniques designed for GPUs, thus the performance on modern system is actually much lower. Beyond that, that game was specifically designed for the Intel architecture and used a specific API to achieve that. Sadly, the original ET demo is no longer available, it would be interesting to see how it performs today." CPU-based Vulkan ray tracing is expected to hit public distribution channels with the rollout of Mesa 24.1. Several members of the Phoronix community reckon that modern AMD Threadripper PRO processors have the potential to post double-digit in-game frame rates.WinElchtest: "Video of a ray traced version of Enemy Territory: QUAKE Wars."
Intel's ray tracing research group produced this port, according to the video's description section.
Sources:
Mesa GitLab, Phoronix, VideoCardz, Tom's Hardware
VideoCardz has highlighted an older example of CPU-based rendering techniques: "this is not the first time we heard about ray tracing on the CPU in Quake. In 2008, Intel demonstrated Enemy Territory: Quake Wars running at 720p resolution at 14 to 29 FPS on 16 core and 20-35 FPS at 24 core CPUs (quad-socket). The basic implementation of ray tracing in 2008 is not comparable to complex ray tracing techniques designed for GPUs, thus the performance on modern system is actually much lower. Beyond that, that game was specifically designed for the Intel architecture and used a specific API to achieve that. Sadly, the original ET demo is no longer available, it would be interesting to see how it performs today." CPU-based Vulkan ray tracing is expected to hit public distribution channels with the rollout of Mesa 24.1. Several members of the Phoronix community reckon that modern AMD Threadripper PRO processors have the potential to post double-digit in-game frame rates.WinElchtest: "Video of a ray traced version of Enemy Territory: QUAKE Wars."
Intel's ray tracing research group produced this port, according to the video's description section.
9 Comments on Mesa CPU-based Vulkan Driver Gets Ray Tracing Support - Quake II Performance Hits 1 FPS
I used to play Quake (classic) in MS-DOS (6.22, Windows 95) with 8
GBMB of RAM, which I believe was enough for ~60 FPS at 800x600."In the network cluster with 20 nodes, each equipped with a dual-core CPU, the frame rate was at 20 frames per second for a resolution of 512 × 512 pixels at 4× supersampling."
They used OpenRT though, not a proprietary API at the time by any means. The most proprietary thing they did was work around IdTech 3 which wasn't open source yet at that point to remake assets for the engine.
B. Makes me wonder if anyone still has a working Intel Larrabee hanging around.
People don't understand the computational level required to run RT. :')
I'd rather bettering immersion features like dynamic vegetation & physic.
Lighting is the least of my worries.
It looks terrible. It performs terrible.
I don't get it. I don't get ray tracing in general, but this is next level.
So, yes. It is (at least in part) for the challenge. The other part (I'd imagine) is demonstration of skills and technique.
The mentality seems common amongst auto-didact programmers, or at least the ones in the Emulation community (reaching back decades).