How do I profile the GPU properly?


I was wondering if anyone might know some next steps I can take on pinpointing my GPU issue.

My problem is when I look at certain places in the my game in VR Mode, shipping exe, development exe, etc, my FPS drops from 90 to 45, sometimes even lower. I’ve been trying to figure out what could be causing this, so I’ve tried many different ways to combat the problem through trial and error, like removing all the lights, and this problem still occurs. I know this is GPU based because when I use the console command “stat unit” my stats are all stable with my GPU at 11 ms, and then when I look at the problem areas, this load increases to 22 ms. I have tried using “stat startfile” and “stat stopfile”, opening that up in UE4’s “Session Frontend” profiling tool and looking for problems. CPU seems fine with Tick being the biggest contender and nothing out of the ordinary. When recording, I see this increase from 11 ms to 22 ms and can replicate it, but the “Session Frontend” profiling tool doesn’t seem to show any spikes in the GPU.

I further explored to find out if object draw occlusion was occurring or not with “r.visualizeOccludedPrimitives” and I found that most objects were indeed not being drawn so this is not the issue.

Using r.ScreenPercentage, I saw a measurable performance change, which means I am bound by something pixel related I’m fairly certain.

I took a snapshot of the game’s GPU (with “ctrl + shift + ,”) right when I peaked at 22 ms in the GPU but what it provided added up to 9 ms, which is not the 22 ms I was seeing with “stat unit” and nothing seemed out of the ordinary in this snap shot.

I’m open to any ideas. My current setup:

  • UE Engine: 4.15.0 VR Works

  • HMD: Oculus Rift

  • Online Platform: Steam.

  • Graphics card tested: 1080, 1060, 970, Titan X, R390, etc


Jacob S

If you haven’t watched these yet, it’s a good place to start.


Jesus… how many times.
1st - 90 drop to 45 in VR => oculus vsync, So it rly dont need to be a huge spike, just a little over 11ms. 2nd - try to use external profiler for gpu (if you think its gpu) like RenderDoc or intel GPA kit.

try to use Stat GPU or Stat rendering commands to see what exactly happening. Mb spike of drawcalls, or translucency ?