Download

Severe performance problem

Hello,
Here’s the situation, my laptop isn’t that great when it comes to video cards(NVIDIA GeForce 860M, lags when I play BF3 on medium graphics), but I managed to boost my game’s fps to 40 by scaling down UE’s graphics to low and playing my game in a small viewport. Now… I’m making a tower defense game so it is expected, the game not to want an expensive computer to run smoothly, but if I play it in fullscreen even with low graphics it still lags(15 fps). Am I doing something wrong, or is UE4 just greedy for good hardware? Most of my textures are 512pxx512px I am not using many material effects. I don’t have too much high poly foliage…

Also, when I spawn more than 20 enemy vehicles(I coded them with blueprints) my fps goes down a lot. I managed to track the problem to the function I made to handle their movement. I use UE’s AddActorLocalOffset function to handle their movement. I have no idea why this slows down my performance so much. Is it because I have enabled gravity for the vehicles’s physics or maybe the graphics play a role here… I don’t know. Any help will be highly appreciated!

You need to do some profiling. Turn on the stats and look to see if it is cpu or gpu that is eating the time.

I am currently looking at statistics brought up with the “stat unit” command in the console. But when my vehicles arrive and the lag begins the game stat and the gpu stat have the same result. How can I see which one stalls the frame rate? I tried using the profiler in the session frontend but that only helped me find out which function affects the game stat the most. Btw most of the time the gpu is the only problem. It takes 60ms while the game takes 15ms… but like I said… when a large amount of enemy vehicles come(like 20), the game stat becomes something like 50-60ms, while the gpu is 60 or more.

try ‘stat scenerendering’. it will give you way more details.
look at this video, it’s all about optimization

Thanks for that youtube link, helped me a lot! I’ve found what’s been dragging down my performance… or at least part of the problem. Turns out it’s the physics. I’ve been using simulate physics and enable gravity so that the vehicles would move realistically on terrain. Only problem is, I have 20 vehicles or more! I turned off simulate physics and I got the performance to a pretty nice level! Now only one thing remains. The GPU performance. The problem is that my game looks pretty realistic, like… first person ready, but it should probably look a bit more simplified(like cartoony maybe???). Any ideas how to achieve that in the engine? Like I said I set the engine scalability to low, but that just makes my game look like… well with low graphics, not quite what I explained above.