Zarathustra
Cloudless
- Joined
- Jun 19, 2019
- Messages
- 4,214
- Points
- 113
Which begs the question, what the hell is resulting in this title being so insanely CPU heavy?
Playing at 4k, I'm used to always being GPU limited, never being CPU limited. This has given my CPU's long lifespans.
I had read that UE5 was better at multithreading, and maybe that is why we don't see the traditional one or two cores close to being maxed out, and the rest with low loads. Additionally DX12 spreads the draw calls across CPU's, so that might further push things in this direction.
But even so, the lowest loaded cores are at like 35%. That can't be all DX12 draw calls, though the broad distribution across cores really does point in that direction....
Maybe they designed the game to use way too many simultaneous draw calls?
I can't remember the source now, but I remember reading (probably a news story from the HardOCP front page years ago) that many developers who develop for consoles, where they can have nearly unlimited simultaneous draw calls due to API's that are much closer to the hardware struggle when porting to PC as draw calls on the PC platform have much greater CPU overhead due to needing an abstraction layer to deal with the fact that the GPU is not homogenous as it is when developing for a console. This is apparently especially bad with Direct 3D. Less so with the likes of Vulkan.
While I can't find the orignal story now, Google landed me on this post on the Tripwire forums (developer of the Red Orchestra series) which discusses the issue.
GSC Game world has always been a PC first developer though, so I can't imagine that is their problem, but they are new(ish) to Unreal Engine. Maybe they just programmed the title to do way too many simultaneous draw calls, and are having a terrible time scaling that back after the fact?
Or then again, maybe they are just mining ethereum on everyones CPU while playing the game
I'd like to believe that CPU efficiency can be patched down the road, but I have read that if draw calls are the issue, this can require restructuring the entire game to reduce the needs for simultaneous draw calls.
Maybe porting it to use Vulkan instead of DX12 would help, as I understand this is much less of an issue with Vulkan than with DX12.
But what do I know... I'm just grasping at straws here based on articles I have read over the years. I am way outside of my area of expertise.
But forum posts like this seem to reinforce that keeping draw calls under control can be difficult for a team that is new to Unreal Engine... As Kyle used to say, maybe I am on to something, or maybe I am on something, but I suspect inflated draw calls due to the developer not being familial with unreal engine are part of the issue here.
Playing at 4k, I'm used to always being GPU limited, never being CPU limited. This has given my CPU's long lifespans.
I had read that UE5 was better at multithreading, and maybe that is why we don't see the traditional one or two cores close to being maxed out, and the rest with low loads. Additionally DX12 spreads the draw calls across CPU's, so that might further push things in this direction.
But even so, the lowest loaded cores are at like 35%. That can't be all DX12 draw calls, though the broad distribution across cores really does point in that direction....
Maybe they designed the game to use way too many simultaneous draw calls?
I can't remember the source now, but I remember reading (probably a news story from the HardOCP front page years ago) that many developers who develop for consoles, where they can have nearly unlimited simultaneous draw calls due to API's that are much closer to the hardware struggle when porting to PC as draw calls on the PC platform have much greater CPU overhead due to needing an abstraction layer to deal with the fact that the GPU is not homogenous as it is when developing for a console. This is apparently especially bad with Direct 3D. Less so with the likes of Vulkan.
While I can't find the orignal story now, Google landed me on this post on the Tripwire forums (developer of the Red Orchestra series) which discusses the issue.
GSC Game world has always been a PC first developer though, so I can't imagine that is their problem, but they are new(ish) to Unreal Engine. Maybe they just programmed the title to do way too many simultaneous draw calls, and are having a terrible time scaling that back after the fact?
Or then again, maybe they are just mining ethereum on everyones CPU while playing the game
I'd like to believe that CPU efficiency can be patched down the road, but I have read that if draw calls are the issue, this can require restructuring the entire game to reduce the needs for simultaneous draw calls.
Maybe porting it to use Vulkan instead of DX12 would help, as I understand this is much less of an issue with Vulkan than with DX12.
But what do I know... I'm just grasping at straws here based on articles I have read over the years. I am way outside of my area of expertise.
But forum posts like this seem to reinforce that keeping draw calls under control can be difficult for a team that is new to Unreal Engine... As Kyle used to say, maybe I am on to something, or maybe I am on something, but I suspect inflated draw calls due to the developer not being familial with unreal engine are part of the issue here.
Last edited: