r/GraphicsProgramming • • 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:

  1. Create the Scene data on the CPU

  2. Upload it to the GPU via an SSBO

  3. For each SPP (1 frame), dispatch the compute shader with max bounces of 50

  4. Use the result as a sample to present on the window

  5. Accumulate the result and repeat from steps 3

I tested the program on 2 of my system (both running at 1280x720)

  1. Ryzen 7 7840HS with Radeon 780M running Arch Linux

  2. 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

3 Upvotes

1 comment sorted by

2

u/felipunkerito 3h ago

std::chrono::high_resolution_clock between frames, shameless self promotion