FPS drop in map (not necessarily beta related), looking for a bottleneck.

This forum is the ideal place for all discussion relating to X4. You will also find additional information from developers here.

Moderator: Moderators for English X Forum

Tranecarid
Posts: 31
Joined: Wed, 18. Dec 24, 12:19
x4

FPS drop in map (not necessarily beta related), looking for a bottleneck.

Post by Tranecarid »

Version 7.50 (549980)
Game is not moded in any way.

I began tweaking the game and my PC to optimize my fps. Posting here because all the steps I have taken were in latest beta using DLSS set to quality setting (which boosted my performance).

My setup:
Ryzen 9800x3d
32GB RAM (6000mhz xmp profile)
RTX 4080S
4k display
Win11
dxdiag:
https://www.dropbox.com/scl/fi/99ypa5v7 ... cfhmq&dl=0
Vulkaninfo:
https://www.dropbox.com/scl/fi/31bq294k ... fkttb&dl=0
Save:
https://www.dropbox.com/scl/fi/k14dmx5v ... bcp2h&dl=0

Game settings:
https://i.imgur.com/6VQCf5Z.jpeg

Today I have done few things:
- updated bios to the latest version.
- enabled game boost in bios.
- in nvidia control panel I switched vulkan to prefer layered on DXGI (something I found on the forum).

All of the changes gave me a massive boost in performance. My GPU in finally at 70-100% utilization. Previously it was sitting at 50-70%.

Below is a screenshot of my sitting in a mostly empty space, game not paused. GPU is at 80% utilization, all cores at 60-80%. FPS are extremely high (before the applied changes the fps were about half of that).
https://i.imgur.com/neaw0jV.jpeg

Below is the same place and time but the game is paused. GPU jumps to 100%, CPU drops to 0-70%. FPS jump even higher.
https://i.imgur.com/5vuOhBN.jpeg

Now same place and time, map opened game paused. Map causes fps to drop very noticeably, but it's still very fluid since it's 200+ fps.
https://i.imgur.com/1pLtM6G.jpeg

Now things start to get much slower and I am a bit confused what causes the FPS to drop. Same place and time, map opened but game not paused. What is surprising, the GPU utilization drops drastically and fps are now just above 100. CPU utilization remains the same.
https://i.imgur.com/1ZwZQZz.jpeg

Here is Argon Shipyard game paused - GPU at 100%, fps around 150. GPU is a clear bottleneck here.
https://i.imgur.com/zBrceDY.jpeg

Unpausing the game drops fps to 100 with the GPU utilization below 70%.
https://i.imgur.com/dMAFiL6.jpeg

Opening the map drops GPU utilization and FPS with it. Here is map with the game paused. GPU is still relatively high at 75% and FPS above 100.
https://i.imgur.com/18k1DE8.jpeg

Unpausing the game here puts GPU pretty much to sleep. Map opened game unpaused is below 60 fps with GPU at 36%.
https://i.imgur.com/GusWxwy.jpeg

In every scenario CPU is not maxed out but is apparently under heavy load when unpaused.
Last edited by CBJ on Fri, 17. Jan 25, 11:34, edited 1 time in total.
Reason: Oversized images replaced with links
Tranecarid
Posts: 31
Joined: Wed, 18. Dec 24, 12:19
x4

Re: FPS drop in map (not necessarily beta related), looking for a bottleneck.

Post by Tranecarid »

I decided to test DLSS and how exactly does it influence performance "and the results are astounding!"

Empty space game paused
DLSS on ~320 fps => DLSS off ~299 fps

Empty space game unpaused
DLSS on ~250 fps => DLSS off ~230-240 fps

Empty space game paused, map open
DLSS on ~230 fps => DLSS off ~230-240 fps
So actually turning off DLSS boosts fps ever so slightly!

Empty space game unpaused, map open
DLSS on ~110 fps => DLSS off ~105-115 fps
DLSS does not impact the performance.

Argon Shipyard game paused
DLSS on ~150 fps => DLSS off ~125 fps
DLSS provides a decent boost

Argon Shipyard game unpaused
DLSS on ~105 fps => DLSS off ~100 fps
DLSS provides a very small boost

Argon Shipyard game paused map open
DLSS on ~115 fps => DLSS off ~115 fps
DLSS does nothing.

Argon Shipyard game unpaused map open
DLSS on ~50 fps => DLSS off ~57 fps
DLSS impacts FPS negatively!
CBJ
EGOSOFT
EGOSOFT
Posts: 54201
Joined: Tue, 29. Apr 03, 00:56
x4

Re: FPS drop in map (not necessarily beta related), looking for a bottleneck.

Post by CBJ »

External measurements of CPU usage can be very misleading.

The main issue is that the game will likely be CPU-bound on one or two specific threads, while other cores are nowhere near as busy. This results in overall CPU utilisation figures that make it look like the CPU isn't busy, when in fact it's extremely busy on those critical cores.

Even after taking that into account if you start looking at individual core utilisation, a second issue kicks in, which is that Windows (and possibly other OSes) can move threads from one core to another. If those particularly busy threads are moved from one core to another during the sampling period, it can make it look like two cores are each 50% occupied when in fact it's one thread running at 100%.

Opening the map WILL create extra work for the CPU. Normally the more you zoom out on the map, the more work the CPU has to do. The reduced framerate that this results in can often result in LESS work for the GPU even though it appears to have more things to draw. Pausing complicates this further. It means less CPU work, but not necessarily on the critical threads, and makes very little difference to the GPU. And finally, the map itself complicates things too. Optimisations involving calculations for objects that are not close to the player can sometimes mean that representations of those objects on the map move less often than the framerate would suggest.

With regard to DLSS, you need to understand what its purpose is. It exists to reduce the load on lower-end GPUs that are struggling to process what is required at the current resolution. If you use it in a situation where a game is not GPU-bound then it may well have no effect, or even potentially a negative effect if it places more load on an already-busy CPU.

So all in all, and without analysing your specific savegame, I don't see anything particularly unexpected with your findings. :)

Addendum: since this isn't beta-related, I've moved it to the main forum.
Sprengmeister
Posts: 39
Joined: Sun, 10. Nov 19, 12:07
x4

Re: FPS drop in map (not necessarily beta related), looking for a bottleneck.

Post by Sprengmeister »

That´s a very good collection of Data, and thanks to that, I already have an answer to you.
When a GPU is Bottlenecking, you will see it as it has typically 90-100% load, usless Vram limited.
With CPU´s it more complex, since you can be Bottlenecked in 3 different ways:

Option 1: Multithread limit -> CPU is at 90-100% all core load. -> thats not your limit since every modern 8 Core CPU has more than enouth performence for that
Option 2: Singlethread limit -> one Thread of your CPU is close, or at 100%. You overall CPU load will get lower because it takes longer to calculate a specific process on that thread, while your other threads have more time to do there work scine FPS is lower -> This will be a cause for you sometimes, in some Situations in X4
Option 3: Memory limit (your CPU needs to process Data that is stored in Memory and Put it back there, sometimes every Frame for some Processes) -> this is most likely your Bottleneck cause no thread will be near 100% in this case (and yes, this can even happen with an X3D Cpu...)

I have done this analysis with 4 different PC´s that I owned in the past 6 years with X4 and since I now own a PC with quite similar hardware than you have (CPU: 7800X3d GPU RTX 4090 Mem 6000Mhz CL 32 M2 SSD) the FPS your getting are similar to mine in comparable scenarios.

For more details, that something for one of the Dev´s since they know exactly what´s happening under the hood :wink:
Sprengmeister
Posts: 39
Joined: Sun, 10. Nov 19, 12:07
x4

Re: FPS drop in map (not necessarily beta related), looking for a bottleneck.

Post by Sprengmeister »

Ups, I was 4 minutes to slow, sorry :D
CBJ
EGOSOFT
EGOSOFT
Posts: 54201
Joined: Tue, 29. Apr 03, 00:56
x4

Re: FPS drop in map (not necessarily beta related), looking for a bottleneck.

Post by CBJ »

Sprengmeister wrote: Fri, 17. Jan 25, 11:56 Ups, I was 4 minutes to slow, sorry :D
Actually, your point about memory bottlenecks is a useful addition. :)

Return to “X4: Foundations”