Hello there,
I am currently busy optimizing / profiling my project. I keep falling down to about 15 fps on my workstation and that is obviously way too bad.
I need to find the problem but since I am teaching myself, I lack the technical skills to really comprehend what is going on…
Before I get into it: The project is fairly simply. No Dynamic anything. Lightmass with small to hugh lightmaps depending on the object size. Skylight, directional Light.
Now, for example: I enable stat FPS and Stat Unit which helps a lot. I get the following stuff:
-
13.65 fps (red) 73.24ms (red)
Frame: 73.87ms (red)
Game: 5.57ms (green)
Draw: 73.88ms (red)
GPU: 73.88ms (red)*
I do not understand most of these values.
Is the value Frame how many ms Unreal needs to render 1 Frame? 13.65ms x 73.24ms = almost 1000 — The math checks out so I guess that is it.
Then I guess that Frame is the combined time of Game/Draw/GPU?
“Game” is functionality like blueprints and game mode / controls? This is I guess a CPU thread?
“Draw” is loading the assets (geometry and Lightmaps)? Does this involve the power of my hard drive or is this also CPU?
“GPU” is everything the graphics card needs to do to render the final images - i.e. interpret the lightmaps etc, basically the final render.
First the GPU
I have found the GPU Profiler and it gives me something very weird. When I open the profiler, the Draw instantly drops to almost nothing, like 1,6ms or something… Once I close the window it jumps back to the red value… What the…?
In the GPU Profiler he tells me that my lightmaps take forever. I do have a couple of fairly big Lightmaps, but I need those to achieve the visual quality that I want… but the performance kicks it… can I somehow influence this? I read something about streaming cache or something - Can someone elaborate?
Now about the Draw:
What exactly takes so long? Can i find a list of all the objects he loads? With stat.sceneRendering I just get a number of objects he loads which confuses me a bit because he tells me he’s loading in around 441 mesh draw calls and 435 static List Draw calls … I cannot believe that I am actaully looking at that amout of objects… what else does he open? Also the stat.SceneRendering has the Counters in the bottom lines and gives me a “present time” and the Mesh and Static list draw calls beneath it… but my Stat Unit gives me another Draw ms than the present time… what’s this?
And lastly Game:
It is no problem for me at the moment, but actually pretty much nothing happens concerning interactivity or whatever the Game thread does… so even 6ms seems a bit much when I compare screenshots to other projects I have seen… How can I check what’s going on here?
Thank you so far!
If I have overlooked a basic FAQ or a site in the documentation please me there… but the profiling stuff in the documentation goes fairly deep into actual coding which I would like to not do…
Oh and my specs are:
GeForce GTX 650
Intel i7 @3.2 GH / 6core Multithread 12core
Thanks alot and hope you’re having a good time!
Greetings,
of