I’m seeing a major performance difference between running in a window launched from the editor vs. running a project as a standalone game.
My project gets the following numbers (using the STAT FPS console command):
Window launched from editor: ~106 fps
~9.6 ms
Standalone game: ~62 fps
~16.13 ms
But it’s clearly not just my project. With the Blueprint Example project (the one with the wood floors and trees and security cameras), I get the following right when I begin running that level:
Window launched from editor: ~90 fps
~11 ms
Standalone game: ~49 fps
~19 ms
Why would this be? Is this a bug? Is it the intended behavior? It seems like maybe the game is rendering twice when running as a standalone game?
Also, is there any way to get performance more like the in-editor window when running it as a standalone game?
Finally, I am trying to do some initial graphics benchmarking to inform our art creation process. Should I be using the window in the editor for this, or the standalone game? Normally I’d want to use the latter but this really seems like a bug to me, and if so, it will massively skew our benchmarking results.
I have actually noticed this behavior as well, there seems to be some extra elements that get loaded in the editor mode that accelerate performance that are not getting loaded in the standalone game.
I was considering making a post myself about this but will instead 1-up your thread
Rama
PS: In the context of my game the way I observed this accelerated performance was with the DX11 technology of tessellation for my rainbow armor system, I noticed in the editor that the tessellation effect ran much smoother.
I do not know if the issue is simply unbounded frame rate,
I’d be curious to see if you get the same results that I do. Try taking some of the UE4 samples, launch them in each of those two ways, and in each case, hit ‘~’ and type STAT FPS and write down the numbers.
Standalone Game launched from shortcut or commandline…
… normal settings: 62 fps (capped)
… uncapped settings: 75 fps
A standalone game launched from the editor creates a second process visible in windows task manager, which competes for resources with the editor. If the editor is also running a viewport in real time mode then performance is literally halved.
When a game is launched in a new window the editor automatically disables realtime update of viewports, so you get near full performance while in editor.
A standalone game launched from a shortcut or other commandline without the editor running will give maximum performance equivalent to the user experience (depending on build settings). However, it is affected by the config settings for frame rate smoothing, which caps FPS at 62 by default.
Rama’s posted settings will uncap this for the editor, and there is also a second set for true standalone under the alternative heading [/Script/Engine.Engine] that you can apply.
I was very surprised to see it since I was convinced we were barking up the wrong tree, but this did actually fix it.
Thanks, Spoof!
Once I copied the settings to [/Script/Engine.Engine] and ran it outside of the editor using “Launch Game” from my .uproject, I got frame rates similar to the ones I get when running in “New Window” mode.
Unfortunately, it didn’t fix the UI flickering issue, but now I can at least do some serious graphics benchmarking.
In the first scenario, that 62 FPS would appear to be the frame rate smoothing cap as the default for max frame rate is set to 62. When running from the editor it’s probably unbound.
Reading your thread on the slate UI flicker, you say you run ‘standalone’ with the editor still open? That’d be like running two instances of the game.
this problem is still happening, and I tried to disable the realtime, but the “launch Mode” “standalone game mode” still has a very low fps in comparision with the editor one, also, in the editor it runs smoothly, but in the Launch Mode it is stuttring a little…
How can I fix that?
Thanks
Going to dig this out since i ran into the same problem.
Made a small endless runner in 2D. There are around 35 actors on screen at a time and half of them is moving.
Most of them are spawned from one parent actor which pass a “movement speed” float var through all spawned actors.
In viewport this works like a charm but in launch mode or even in packaged build the float var seems to get rounded down and everything moves slower. This leads to unexpected behavior during the game like overlapping sprites and flickering.
Could go along with this and calculate this kind of delay into my actors but since i cannot really test it without launching it this is going to be a big try and error party.
Some additional infos:
ue4 version: 4.18.2
20 actors moving at a time
~15 stationary actors
no light
2D only