Download

Help understanding GPU profiling.

Hello. I am trying to understand the GPU profiling, so I can get back some lost frames in my VR project. I went from 80+ frames, to 30 fps in my project, and I really must get them back. I launched the GPU profiler, and see many culpripts there, but I have no clue what most of those mean.

Here is a screenshot of the GPU Profiler.
55b29177fe.png

The biggest suspects are Particle Simulation (19.29ms), Shadow Depths 7.66ms, ShadowProjectionOnOpaque 8.78 ms, and BasePass 4.51ms. I tried googling this stuff but found very little information on what this means and how to reduce the gpu load on those aspects.

On shadowDepths one object is being an issue.
d1241fe69e.png

For ShadowProjectionOnOpaque again, 2 big culprits sharing a big load.
ced801cd18.png

And BasePass I am not sure what it means.
39c95f4a64.png

Some extra info about this that might be helpful. I am using the Forward Renderer. I am trying to use as many static objects as I can with static lighting too. The notes that are affected, are spawned at location by a “builder” blueprint I add on the level.

I will add new post with improvements I have made. In case this may help others later on in the future.

A big clupript was the Light Source component, which wass et to Stationary, I changed it to Static and Went from 30fps, to 45 fps. I still need more frames though. I took some extra profilers and found some more info.

Frame 1. SlateRenderToTarget, I have no idea what that means, a google search was not helpful either. Again, BasePass is is the next big issue taking most of the GPU’s time.
3777b77d7f.png

Frame 2, basePass is still an issue. I think If I get rid of this timer, then I can get some decent frames back.
01b26ec621.png

I am taking a look at this article, and will mess around with some other ini settings.

BasePass, to my understanding, is just “drawing the meshes” on screen. You probably have very many meshes, or very high poly, or very complex materials. (Although 3.67 for a base pass isn’t that long)

SlateRenderToTarget is the editor UI updating. Whether it shows up or not when grabbing a quick profile from the editor seems somewhat random in my use - I’d ignore it as it isn’t there when running outside of the editor.

-Brian.

Ohh alright. Thanks for the info. I do have quite some meshes in my scene, but do want to get rid of some. Thanks for the explanation.

Oh okay, yeah, it was odd. I am at the moment packaging my project and I will run it by itself to see if it improves.