Is it possible to monitor CPU and GPU usage in a UE4 game? I ask because I procedurally generate most of my game, and I would like the world to be very large. If I generate a world at the start of each new game, the world generation process usually takes a few hours, but has before taken almost a day. Rather than wait that long, I thought that I could generate the basics for the world, and then an area around the player start. Then, while the player plays, the game continues to generate. The problem is, the generation eats up too much of the computer, and the game lags excessively until the generation is done.
Notes :
I do not know whether the generation is being done on the CPU, GPU.
I do not know how much RAM the generation process is using.
I would like to allot certain amounts of CPU/GPU/RAM to certain tasks in my UE4 game.
I use Blueprint, but know C++. If the management I am looking for can only be done with C++, could somebody direct me to a resource where I could learn how to integrate C++ and Blueprint?
Current UE version : 4.1
I posted this on the UE subreddit, do I have permission to post your answer there if you don’t post it yourself?
We have not heard back from you in a few days, so we are marking this post as Resolved for tracking purposes. If you are still experiencing the issue you reported, please respond to this message with additional information and we will offer further assistance.
Depth is used to cull everything deeper than the specified value in the callstack, default value is max_int.
MS is used to cull the callstack, by default this value is set to 5ms, so everything that takes less than 5ms will be aggregated and displayed as other children.
Root is a substring search and is used to cull the result to the particular name, can be used to search for issues with assets, objects etc. By default root is empty.
Examples
stat dumpframe
stat dumpframe -ms=.001 -root=initviews -depth=1
stat dumpframe -ms=.001 -root=shadow
stat dumpframe -ms=.001 -root=asset_name
stat dumpframe -ms=.001 -root=skeletalmesh
DumpAve, DumpMax, DumpAdd
stat DumpAve [-start | -stop | -num=###] -ms=## -depth=##
stat DumpMax [-start | -stop | -num=###] -ms=## -depth=##
stat DumpAdd [-start | -stop | -num=###] -ms=## -depth=##
These commands aggregate stats over multiple frames and then dump the results. If you want to start aggregating use command with -start or enter the number of frames. To stop use the command with -stop or if you entered a specific number of frames, just wait for the results. Num by default is set to 30 frames.
DumpAve gives the per-frame average.
DumpMax gives the worst frame for all callstacks.
DumpAdd gives the sum of all callstacks.
Examples
stat dumpmax -start
…play the game…
stat dumpmax -stop
stat dumpave -num=2000
stat dumpmax -num=2000
DumpHitches
stat DumpHitches
This command is a toggle. When it is on, it dumps out every frame that hitches. t.HitchThreshold is the console variable that controls what is considered a hitch. The default is 75ms.