Hi all ! please help me…I have a huuge problem with my game stats…I noticed how bad everything that I built is in terms of performance…(because is my first game that i’m developing)…now I strongly want to optimize my game but…to be honest…I can’t understand what every stat means…the most costly are world tick time, tick time and nav tick time…but I can’t find anything or any information about how to approach these or how to optimize them…I really need help…thx
Hi, copy your current level and then inside this copy remove stuff out of your game and see the impact on those times. I would start with removing all the characters.
You are right …actually my game characters made game stats to increase too much… unfortunatelly, now I need to approach things differently…:(…I need to rebuild and rethink…thank you for your reply…it really helped me !
At the same time…do you know any documentation about how to properly read the stats? or something related to all stats? something that explains how are affecting the gameplay and how to solve the issues? Ty
I use it only as overview (and to see my blueprint time) since normally most of the time goes into tick time and doesn’t split up any further. Then I use the profiler to split it up further (e. g. I had some CPU problems with particles and then used the profiler to show me which specific particle emitters caused the most CPU usage and then changed/removed them).
Most of your time comes from under the hood, not your own blueprint logic. Generally speaking disable tick wherever you don’t need it. And 127 active characters are quite a lot, so you could think about:
(-) do you really need that many active characters or can you do with less?
(-) do you really need all the functionality or can you do with less (e. g. set your mesh to only tick animations when in view, or use navmesh walking…)
(-) can you use something else and “fake” some of those characters (e. g. for birds you can just go with a niagara particle system, or you can even push it further Simulating Large Crowds In Niagara | Unreal Engine - YouTube
You could also watch this here, although it is more of a general overview Profiling and Optimization in UE4 | Unreal Indie Dev Days 2019 | Unreal Engine - YouTube
And btw if you’re not already doing so then profile your game in standalone, not inside the editor since that will give you wrong results.
Man, I really appreciate your help !
In the game I only use 2 Event ticks in the entire game…for my character flashlight battery condition and health…the rest of them are being triggered by timer event and controlled to stop by handle…I don’t understand how can the only presence of a character being so costly… how can I disable all the ticks of a character if I already did that? there are no ticks enabled on characters and actors…I deactivated them all and still the presence of a character have a great impact on ms…with…tick…where is that tick come from?..animation?..can I deactivate it? so the event update animation not to tick anything ? I even optimized my animations with that documentation provided by unreal but still…that world tick ms is there…
In the game I only use 2 Event ticks
in the entire game…for my character
flashlight battery condition and
health…the rest of them are being
triggered by timer event
All your blueprint logic is “only” taking 3.3ms so even if you would remove all the blueprint logic you have, it won’t change much for your performance (ofc if you won’t tell the characters to move around that would save you performance that would otherwise be used to move them around). If you want to see how much performance your animations use up you can use “stat anim”
where is that tick come
from?..animation?
Yes animation will show up there, as will a ton of other stuff =)
You could profile your game (“start startfile” to start, “stat stopfile” to stop) and then open that up inside the unreal fontend profiler and then take a look at what makes up your tick time. Or you start from empty characters and then start adding behavior to them and step by step see how the time changes. But 137 active characters is quite a lot, especially if you also plan to have other stuff in your game…
Nope, doesn’t improve ms time
Ok I will try
This is what I actually recorded in standalone… to be honest I don’t know what this means…the CPU is not using multiple threads?
Finally I managed to find my problem under the “GameThread” just click on them until you find the specific actor or something that is using your resources too much (all you need to know for solving game latency is to ignore that CPU stall because is not affecting your game, is just UE running)…
So my problem was that I had a forgotten level sequence for 11 actors in the scene running all at the same time…crazy stuff…so after deleting all of them along with that level sequence, my game suddenly got the fps increased to 60FPS !! So for people that are having this issue in the future just scroll down to the GameThread and be aware of how you use consuming stuff like sequencing multiple actors at once…and at the same time be aware of merging stuff inside unreal …because…in my specific case… my actors had 2 objects merged and after checking them in the profiler I saw big numbers in “ms” that were used for them…so avoid using too much of these
And these are the new stats !
Also I found this article that explains the majority of the stats:
@chrudimer - thanks again for your help !