FPS drop when using multiple windows

I recently noticed, I get 30 fps in editor, but 60 when I run the project as standalone. I’m using two monitors. On the 1st I got the editor (game-view, content browser, etc). On the second monitor is a separate window with the blueprints. When both windows are visible, I get 30 fps. When only the 1st one is visible and the second is hidden, I get 60 fps. I guess It’s not a performance problem, I’m at 30% CPU and 50% GPU usage. I also noticed, it caps pretty much exactly at 30 fps, not just something below 60.

OS: Windows 10 (amd64)

CPU: Intel i5, 4 cores, 4 threads

GPU: AMD RX580, 8GB VRAM

steps to reproduce:

open a separate window for the blueprint-editor

move it to the second screen, so both windows are visible

watch the fps dropping

1 Like

Your FPS will drop if you run more then 1 standalone mode it from Unreal Engine. When you do this the your graphic card need to run the engine and the gaems 2 times, and if you build the game, then it will run faster.

my graphics card is not fully engaged, as I mentioned, so it’s not a performance issue imo. This only happens when I use both monitors for the unreal editor.

It is a performance issue, but I do think this is hardware, not software can you send me a screenshot of the task manager wand show me the processor ram etc… when you are running the game?

I’m at 30% CPU and 50% GPU usage. I also noticed, it caps pretty much exactly at 30 fps, not just something below 60.

The hardware is not fully engaged. I achieve 60 fps when I use just one monitor, it goes down to 30 fps when I use both monitors for the ue4 editor. Hardware usage doesn’t change. I repeat: it’s 30% cpu, 50% gpu, no matter if both or just one monitor is in use.

If it was a hardware problem, why does it only appear when using 2 monitors WITHOUT noticeable performance loss? This is clearly a software issue.

RAM is always at ~50% (4GB)

I run on three monitors and regularly have unreal windows open in all three.

Something to understand is that the FPS in your game is not independent of everything else. If you have the UE4 editor open then it has to draw and process everything you have open which can be time consuming (especially if you have complex blueprints or meshes open in the editor). I’m not overly supprised that you see a performance drop in this case.

As to why your CPU is at 30% and gpu is at 50%, this is only one metric. There are multiple things which can bottleneck your CPU or GPU before they can get to 100% so using metrics from the task manager isn’t really that helpful. Instead you need to look at what the actual processes are (use ProfileGPU, ProfileCPU, stat UNIT etc, although these don’t always reveal the cost of running the editor). Examples of why your seeing this behaviour: The editor and game are multi-threaded, but if one thread is maxing out you might not see a high utlisiation of your CPU, even though a part of it is at it’s absolute limit and that’s what’s throttling performance, or perhaps that thread can’t dispatch the calls to the GPU in time to render frames at 60fps. If it misses the alloted time frame even by a fraction of a ms, your FPS will drop. Alternatly perhaps you’re maxing out your bandwidth, so whilst there is technically time to process on the GPU, you’re just not getting data their fast enough.

I’m not saying that the editor performance is flawless (it isn’t), but don’t write it off as not being a hardware issue based on a single number, because there is a lot more going on.

it’s caused by unreal’s broken opengl/vulkan support. since we switched to d3d, it doesn’t happen again. I don’t know if I should report this bug.

Hi,

Sorry to resurrect this but I am/was having this issue too, on a Windows machine running UE5 with the DirectX 11 and DirectX 12 renderers. (Each new open window halves my FPS, from 60ish, to 30ish, to 15ish, and so on…)

Anyway, I switched the renderer to Vulkan, and now I can have multiple windows open without it affecting the FPS beyond what is needed to draw its content, meaning that when idle or flying around the scene, my framerate is 60 FPS.

This can be done by going to Project Settings > Platform > Windows tab, and then setting “Default RHI” to Vulkan.

I remember encountering this with UE4 as well, and trying to select different RHI’s manually in the DefaultEngine.ini file, and I don’t recall any of the values I attempted working. Not sure what’s so different with UE5 (other than me perhaps not seeing or overlooking any Default RHI option in UE4), but I am happily 'putin along with three screens and multiple windows on Unreal.

2 Likes

Unreal engine 5.1 MUST be used with DirectX12, so this suggestion will cause your project to crash.

Hey, this worked for me. I think I will edit in Vulkan for the time being until I can find a permanent fix.

FYI: I’ve never had this issue until I upgraded to a 4090 from a 3090. I’m not sure if that’s what caused it, but it was very coincidental if not.

PS. I am running in 5.0, 5.1, and 5.2

i remember having this problem after i used Nvidia Control Panel to limit my frames per second.

i had to make an exception for Unreal Engine that allows it to run unlimited fps

Thank you for the suggestion! Alas, I do not have this problem, though.

Task Manager-Nvidia Container-NVIDIA Display Container LS change the service startup type to disabled, then restart. :smiley:

I also experienced issues with FPS drops from 60 to around 15 when open multiple undocked windows. The problem turned out to be Nvidia G-Sync. Disabling the “Enable settings for the selected display model” option in (NVIDIA Control Panel → Display → Set up G-SYNC) resolved the issue.
nvcplui_k0hARgUq34

If this doesn’t work for you, try completely disabling G-Sync by unchecking the “Enable G-SYNC, G-SYNC Compatible” option.

Don’t forget to click Apply in the bottom right corner.

image