Unexplained bad performance with sample

Hi,

I’m a complete newbie with UE4, but I’ve been trying to find out answers by myself and can’t find anything. My goal is to port my C++ game to UE4, but I want to make sure that UE4 can run on somewhat older systems.

I’m packaging the first person UE4 sample in “Shipping” configuration and I disabled/lowered almost every graphics setting into my project’s setup. When I load the first person sample game up on my laptop, it runs below 30 fps. This laptop can run Crysis, so I’m wondering what’s up? Did I do something wrong? Does UE4 not support older hardware? This is a sample, with barely anything going on, I should get more than 60 fps.

Here’s my laptop stats:
i3 dual 2.20ghz
4 GB ram
Geforce GT 540M
Win 7

Another question is about configuration files and graphics options (.ini). When I package the game for shipping, do I have access to the graphics configuration config files? They’re not exported and if I manually add them, they don’t seem to be loaded. If I run the game outside of the editor, but without “packaging” it, I do get configuration files that I can edit, and SOME of them seem to be read and others not. Is there some kind of logic to this? How do I learn about what file is loaded? How are they loaded and in what circumstances?

Thanks

Compile “devlopment” build which let you access console and access debugging tools, including execution times, yopu can see those in “stat” and “show” commands. Increasing FPS is all about reduceing execution times so CPU and GPU got time to do 30 or 60 or whatever frames per secound and theres many ways to do so, but first you need to figure what takes most time and that you can see in stat command (stat game is good start). There also profiler which shows all time stats that UE4 meassues, let you diagnose what you can improve. Thats what you call “optimalisation” :stuck_out_tongue:

Heres general documatation about performace profiling:

As for configs you set them in config directory where default config (which includes shipping builds) are contained, all inis are the same (ofcorse everything in Engine ini need to be in other Engine ini etc) so you can copy from “Saved” directory varbales you want to be default to your project. All default inis got Default prefix (DefaultXXX.ini). Editor settings also got export button letting you export configuration which might be helpful

I’m not sure I was clear, but I’m just trying to run the UE4 first person sample. I don’t want to do performance profiling, I just want to know why I get bad performance from such a simple sample. Is it badly designed or am I doing something wrong?

When I export a shipping build there is absolutely no config directory and no config files. Creating one and copying config files into it does nothing. The files aren’t read.

You want to know why you get performace and thats what profiling is for

Yes, I understand :stuck_out_tongue: I don’t want to profile and debug their sample… I just want to know if UE4 can provide good performance on low end hardware. I’m fairly certain that the problem is my failure to configure or export the project properly.
Thanks anyway.

So I was able to figure out the problem of performance. The executable would run the sample at a resolution of 1600x1000 by default, which is too high for my laptop, so it ran like crap. To lower resolution, I had to manually create a Config folder and a file called DefaultGameUserSettings.ini. I copied the GameUserSettings.ini contents for it and then I was able to change resolution to my laptop’s native one. This was trial and error, I really don’t understand how configuration files work at the moment. I couldn’t find an clear documentation on them either.

So I was able to figure out the problem of performance. The executable would run the sample at a resolution of 1600x1000 by default, which is too high for my laptop, so it ran terrible. To lower resolution, I had to manually create a Config folder and a file called DefaultGameUserSettings.ini. I copied the GameUserSettings.ini contents for it and then I was able to change resolution to my laptop’s native one. This was trial and error, I really don’t understand how configuration files work at the moment. I couldn’t find an clear documentation on them either.