cancel
Showing results for 
Search instead for 
Did you mean: 

Newcomers Start Here

batcholi
Adept I

vulkan ray-tracing performance issue on windows

I'm using VK_KHR_ray_tracing and experiencing ray traversal performance issues on an AMD GPU on Windows, but on Linux all is well. 

I
've got a 6900 XT, a cross-platform ray-tracing project, and I can multiboot between Linux and Windows.
For the same Project
/Scene/GPU, my ray traversal takes < 2 ms on Linux but over 20 ms on Windows.
Analysing the results from RadeonGPUProfiler on windows
, the Ray-Traversal takes 98% of that time. On Linux the ray traversal time is negligible.

I have tried with both AMDVLK and RADV on Linux with great performance
.
On windows I have tried with every single driver version from 23.3.1 to 
24.1.1 and the performance is very bad (over 10x compared to on Linux) or before 23.7.1 the app crashes.

I have confirmed that all my BLAS memory is in the 'invisible' device local type and that my GPU is clocked properly.

I have also tried with a minimal scene
(a scene with a single AABB box and a rgen with a single trace call), and that gives me even worst performance difference (~4 ms on Windows, < 0.1 ms on Linux).

This is definitely a problem, it's not normal... Has anyone even tested vulkan ray-tracing properly on an AMD gpu on Windows lately? 
I can understand a 50% or so difference in performance, but not 4000 %... 

4 Replies
batcholi
Adept I

I have done more tests trying to make the simplest possible repro app, and it seems that whenever we have >= 8 shaders (adding up all hit groups, miss, callable), the performance will be linearly affected by the size of the largest payload, be it the RayPayload or CallablePayload.

Even if the scene is totally EMPTY
(not a single instance) and ALL the shaders are no-op and the rgen has a single traceRay with a mask of 0.
Then
, the number of traceRay calls and the size of the largest payload affects the performance linearly.

However
, if I've got less than 8 shaders in the SBT, no problem at all.
Only happens on AMD
+ Windows. Doesn't happen on AMD + Linux, or on NVIDIA (windows or linux) A mere ray payload or callable of 32 bytes and tracing 4 rays from the rgen, with 8 shaders in the sbt, is enough to get the performance so bad that we go below 30 FPS when supposed to make 200 FPS... makes the game unplayable.

radinesh
Staff

Hi @batcholi, thanks for informing us regarding the issue.

Do understand it better, could you please provide the following info:

  1. Configuration details
  2. Apps you've tested to observe your issue.
  3. Any logs/dumps you've collected.
0 Likes

Let's hope the issues he listed get fixed for good. Also, the Graphical features you guys supposed to implement in Catalyst CP since 2004!!!

batcholi
Adept I

There are many issues with the AMD drivers regarding ray-tracing and so far the support we had from AMD was less than ideal, hence we have decided to postpone our game's support for AMD, possibly indefinitely.

That being said, I would love to go back on that decision but that would require working more closely with someone at AMD to solve driver issues, just like we do with NVIDIA.
I get that we're an indie dev studio working on publishing our first game so we're basically nobody in the eyes of AMD...
But that doesn't change the fact that we're experienced developers, we know what we're doing and working on an innovative project and we DO get the needed support from your competitor...
I had personally reported at least 4 driver bugs with NVIDIA, 3 related to ray-tracing, I've got a direct line with a guy there and every time it's fixed within weeks.

Our game is fully ray-traced with a custom game engine and at the moment only works with NVIDIA RTX because of driver issues on AMD in windows.
I can confirm that RDNA2+ cards DO work well with our game after testing it on Linux with the latest RADV driver which has far less issues.
We can thus rule out hardware capability issues.

If I can be hooked up for direct email communication with a driver dev at AMD and that you guys are actually willing to fix issues with your drivers regarding ray-tracing, then I would gladly work with you and provide repro apps and technical details all day long.

If you could provide me with someone's email we'll be willing to give AMD support another shot, it will be in everyone's best interest anyway.

AMD has been lagging behind NVIDIA in terms of ray-tracing, but that's actually only a driver problem...
The performance is actually great with the RADV driver in Linux... It's a shame if you guys don't want to spend the time to fix this.

I can tell you with great confidence that we've got the most advanced example of a vulkan ray-tracing project, so if there's one team to work with to fix your issues, it's us. I won't settle with communicating on this forum.... we need to exchange repro apps and communicate directly with devs.

Thanks for your understanding.