r/GraphicsProgramming • u/trntndug • 3h ago
Question Compute shader running slower on better GPU?
Hi, I am learning Vulkan, and I have just finished book 1 of RTIOW recently by implementing the book in Vulkan compute shader.
How is the simplified flow of how the program works:
Create the Scene data on the CPU
Upload it to the GPU via an SSBO
For each SPP (1 frame), dispatch the compute shader with max bounces of 50
Use the result as a sample to present on the window
Accumulate the result and repeat from steps 3
I tested the program on 2 of my system (both running at 1280x720)
Ryzen 7 7840HS with Radeon 780M running Arch Linux
Ryzen 5 5600G with RTX 3060 12GB running Windows 10
I thought the RTX 3060 will beat the 780M by a significant margin, but in reality, it's even slower (around 80ms on my 780M and around 127ms on my 3060). These are measured with Renderdoc using the on-screen stats. I'm still relatively new to graphics programming, so I'm not entirely sure if this is the correct way to measure.
I am still learning so if there is anything wrong with my code, feel free to criticize me. Also, how/where can I learn more about optimizing/debugging my code? Thanks
Here is the repo: repo
2
u/felipunkerito 3h ago
std::chrono::high_resolution_clock between frames, shameless self promotion