<p>The most likely explanation is that the game is GPU-bounded and not running at a fixed frame rate. If reducing the quality in the settings allows the game to reach a higher frame rate, the GPU load will be the same, but the CPU load will increase: the CPU is doing the same amount of work per frame (or possibly less), but there are more frames per second, so the total amount of CPU work per second increases. If the game does some non-graphics work per frame as well (for example, if physics updates are at the same rate, or if input is polled once per frame), the effect will be even greater.</p>

<p>Forcing rendering to a fixed frame-rate would allow a controlled comparison.</p>

<p>Your hypothesis about software emulation of features may apply to some features in some games. A particular hardware feature might be exposed as an option because it's slow on some GPUs, and turning the feature off uses a CPU implementation in the game instead. If you have more specific questions about that, be sure to ask a new question which includes the source code you're working on and the benchmark results.</p>

CC BY-SA 4.0
2018-09-10T15:36:35.770Z
Right but in the case of the fallback to software, does DX have any software support out the box or does it rely on the DX supported drivers to implement each graphics function? If a feature isn't there - apart from WARP does DX have any implicit software implementations or just it just serve as the HAL?
Charleh
CC BY-SA 4.0
2018-09-11T00:29:59.403Z
@Charleh No, DX doesn't provide any software fallback for unsupported GPU features out of the box. That's something that would have to be implemented by the game engine.
Nathan Reed
CC BY-SA 4.0
2018-09-11T09:53:24.180Z
or by the GPU driver, of course. Even if it were implemented by DX or the driver, how would turning *off* the feature in the game activate it? That logic is backwards.
Dan Hulme
CC BY-SA 4.0
2018-09-11T10:13:27.937Z
That's what I thought - it's more to settle an argument about why CPU load goes up when games are set to lower settings on the U4 engine. I'd favour the more frames = more load over anything. Someone was suggesting that the U4 engine must fall back to software for certain things but I doubt it. Maybe it does but I can't find anything in the Epic dev docs that mention that, also most hardware accelerated effects would be so slow in software they wouldn't be worth implementing.
Charleh
CC BY-SA 4.0
2018-09-10T13:56:58.903Z
2018-09-10T13:56:58.903Z
Dan Hulme
<p>More of a question about what's possible in DX.</p>

<p>Some people have reported that when running games on higher settings they get less CPU load but when dropping the settings the CPU load increases.</p>

<p>What would be causing increased CPU load in these cases? </p>

<p>Someone suggested that the DirectX API falls back to software when certain features are turned off, but is this something that can happen - can DirectX do a mixed render where some stuff in the render pipeline is pushed through the CPU and the rest goes to the GPU?</p>

<p>My thoughts were texture quality and downsampling and potentially physics processing not being offloaded but does anyone actually know what the cause might be?</p>

<directx>
CPU load in games - what is the GPU/DirectX doing to make CPU load higher?
Charleh
# CPU load in games - what is the GPU/DirectX doing to make CPU load higher?

(Asked by: username_0 on 2018-09-10)

More of a question about what's possible in DX.

Some people have reported that when running games on higher settings they get less CPU load but when dropping the settings the CPU load increases.

What would be causing increased CPU load in these cases?

Someone suggested that the DirectX API falls back to software when certain features are turned off, but is this something that can happen - can DirectX do a mixed render where some stuff in the render pipeline is pushed through the CPU and the rest goes to the GPU?

My thoughts were texture quality and downsampling and potentially physics processing not being offloaded but does anyone actually know what the cause might be?

**Tags:** directx


---

## 1 answers

### Answer by username_1 on 2018-09-10. Score: 3

The most likely explanation is that the game is GPU-bounded and not running at a fixed frame rate. If reducing the quality in the settings allows the game to reach a higher frame rate, the GPU load will be the same, but the CPU load will increase: the CPU is doing the same amount of work per frame (or possibly less), but there are more frames per second, so the total amount of CPU work per second increases. If the game does some non-graphics work per frame as well (for example, if physics updates are at the same rate, or if input is polled once per frame), the effect will be even greater.

Forcing rendering to a fixed frame-rate would allow a controlled comparison.

Your hypothesis about software emulation of features may apply to some features in some games. A particular hardware feature might be exposed as an option because it's slow on some GPUs, and turning the feature off uses a CPU implementation in the game instead. If you have more specific questions about that, be sure to ask a new question which includes the source code you're working on and the benchmark results.

> **Comments:**
> **username_0**: Right but in the case of the fallback to software, does DX have any software support out the box or does it rely on the DX supported drivers to implement each graphics function? If a feature isn't there - apart from WARP does DX have any implicit software implementations or just it just serve as the HAL?  
> **username_2**: @username_0 No, DX doesn't provide any software fallback for unsupported GPU features out of the box. That's something that would have to be implemented by the game engine.  
> **username_1**: or by the GPU driver, of course. Even if it were implemented by DX or the driver, how would turning *off* the feature in the game activate it? That logic is backwards.  
> **username_0**: That's what I thought - it's more to settle an argument about why CPU load goes up when games are set to lower settings on the U4 engine. I'd favour the more frames = more load over anything. Someone was suggesting that the U4 engine must fall back to software for certain things but I doubt it. Maybe it does but I can't find anything in the Epic dev docs that mention that, also most hardware accelerated effects would be so slow in software they wouldn't be worth implementing.  

---

