GPU Profiling Without Editor Open?

Is there a way to open the GPU profiler (“profilegpu” command) from a game that isn’t being run through the editor? I want to do profiling without the editor open to get the most accurate results, but that command doesn’t seem to do anything if I didn’t launch the game through the editor. Thanks!

(To be clear, I don’t want the CPU profiler that’s available in the UnrealFrontend utility. I want the GPU profiler.)

Or does it not matter if I have the editor open for profiling the GPU? I guess since the GPU profiler just reports the amount of time my one process is spending in the GPU, maybe that data won’t be affected by other processes using the GPU too? Framerate itself would be affected, but the instructions my game is calling and how long those instructions take when they have the GPU’s attention wouldn’t.

I just noticed that when I hit “ctrl-shift-,” in the game without the editor open but with profiling on, the red text “PROFILING WITH AI LOGGING ON” and “PROFILING WITH CG VERIFYING ON” flash briefly. And they don’t flash when I hit other similar key combinations. That makes me think it is doing a GPU profile at that point, or trying to, but it’s not pulling up the GUI window after. Maybe it’s storing it in my profiling logs somewhere?

OK, I’ve figured this out at least partly. ctrl-shift-comma and/or the ProfileGPU command actually do run a GPU profiler even when you’re outside the editor, they just don’t pop up the GUI. If your game is connected to the UnrealFrontend, you can see the text version of the profile in the console:

I’m guessing there’s still a way to get a GPU Profiler GUI to display this data, but I haven’t found it yet. If anyone knows how, please let me know!

A late reply, but would the r.ProfileGPU.ShowUI console command help?

I’m also curious about running profileGPU via a built game vs. “play” mode. I’m assuming that “play” mode won’t provide as accurate information vs a built game. For example: When running the profile via play mode I am also getting SlateUI timings as part of my total GPU MS information.

Running a packaged version of our project… I’ve tried r.profileGPU.ShowUI but it doesn’t bring up the gpu profiler interface. When working within the editor a simple “profilegpu” brings up the profiling interface. I can see the process running “GPU Visualizer” in my task manager. There is no standalone “GPU Visualizer” within the unreal program files etc. I was hoping that it would be similar to the UnrealFrontend where it has it’s own executable. Would be awesome if someone could explain why this is such a mystery when running the packaged version. I want accurate numbers, so running perf captures within the editor doesn’t seem like a good idea.

I am also interested in this topic. Is there a way to use GPU profiler from game build? Will we have that option in further versions of engine?

Me too! Just adding a comment to see any future progress.

Bit late, but if someone stumbles in searching for the answer:

When you press CTRL+SHIFT+, (comma) in a standalone game, UE saves the GPU profiling (and more) values in a log file. You can find it in …/ProjectName/Saved/Logs/ProjectName.log

1 Like