<p>There are a number of reasons CPU usage goes up with viewing distance but the fundamental reason is the number of objects that need to be processed goes up.</p>
<p>Increasing viewing distance linearly increases the viewing area quadratically. Which means the number of items that must be considered for drawing increases quadratically.</p>
<p>There are many techniques to mitigate this, some of which you suggested but at the end of the day the shear number of items that needs processing is going to drive CPU usage up.</p>
<p>There are GPU based algorithms that can process millions of items but incorporating those into a game engine is non-trivial especially for a game that has already been published. There are also hardware limitations that must be considered when implementing GPU based algorithms.</p>
<p>Also, there are many games that have very large viewing distances. World of Warcraft comes to mind as an older game that allowed scenery to be viewed for many kilometers, and it did so on &quot;ancient&quot; hardware. So it is possible to overcome this problem.</p>
<p>At the end of the day it is going to depend on the goals of the project. The skills of the development team and the capabilities of the underlying hardware.</p>

CC BY-SA 4.0
2023-08-10T11:59:46.270Z
I new writing exponential would get someone's hackles up. I changed it, but the only goal was to capture that high rate of growth in a term that a wide audience would easily understand.
pmw1234
CC BY-SA 4.0
2023-08-10T11:47:26.807Z
2023-08-10T11:58:09.460Z
2023-08-10T11:58:09.460Z
pmw1234
<p>This depends on the application.</p>
<p>If the rendering distance is larger, more objects have to be managed by the CPU. For example Minecraft, there you have &quot;chunks&quot; that store the block information of an area of 16x16x256 blocks. When you move, new &quot;chunks&quot; come into the view area, so the CPU has to load or generate them.</p>
<p>In other games, new objects (geometry) must be loaded from disk and sent to the GPU. Modern games have so many textures and models that the GPU is not able to store them all. So the CPU has to decide which textures and models are needed.</p>
<p>Other aspects can also play a role. For example, animals walking around. As long as you are too far away to see them, they don't need to be updated. But if the rendering distance is greater, they should move.</p>
<p>More rendering calls also play a role. However, not as strongly as the aspects mentioned above. Because in general, the number of different geometries that need to be rendered should not be too large. And with instance rendering, objects with the same geometry can be rendered multiple times with just one drawing call.</p>
<blockquote>
<p>Does a high draw distance always imply high CPU usage, or is something that could be optimized, but sometimes isn't?</p>
</blockquote>
<p>No. The render distance is part of the projection matrix. When comparing two render calls:</p>
<ol>
<li><strong>Entire scenario is in range:</strong></li>
<li><strong>Entire scenario is in range, but render distance is doubled:</strong></li>
</ol>
<p>The rendering time will be the same.</p>
<p>Even with drawing calls for each geometry in the world, both renderings will take the same amount of time (on CPU). On GPU, of course, things look different...</p>

CC BY-SA 4.0
2023-08-12T22:44:57.940Z
The render distance isn't necessarily part of the projection matrix, the infinite projection matrix is very popular. Among other things an infinite projection solves the issue of the sides of a projection being much longer then the center.  (especially for large viewing distances)  Another issue it resolves is showing extreme detail reduction for very large viewing distances such as showing a billboard for an entire mountain range that is many kilometers (such as 50km away) in the distance. While still maintaining a spherical viewing distance of 1km.
pmw1234
CC BY-SA 4.0
2023-08-10T11:23:08.690Z
2023-08-10T11:35:09.717Z
2023-08-10T11:35:09.717Z
Thomas
<p>I am looking at many games like Dead Island 2, Red Dead Redemption 2, and Minecraft and I see that while the render distance grows, the CPU load grows with it. Why could this be happening? Lack of optimization or fundamental limitations?</p>
<p>How is higher render distance so CPU-intensive? Is it because of a higher number of draw calls? If so, can’t they just minimize draw calls by batching objects or other techniques?</p>
<p>Does a high draw distance always imply high CPU usage, or is something that could be optimized, but sometimes isn't?</p>

<rendering><performance><optimisation>
How does higher draw distance strain the CPU?
Vasilescu Andrei
# How does higher draw distance strain the CPU?

(Asked by: username_0 on 2023-08-10)

I am looking at many games like Dead Island 2, Red Dead Redemption 2, and Minecraft and I see that while the render distance grows, the CPU load grows with it. Why could this be happening? Lack of optimization or fundamental limitations?

How is higher render distance so CPU-intensive? Is it because of a higher number of draw calls? If so, can’t they just minimize draw calls by batching objects or other techniques?

Does a high draw distance always imply high CPU usage, or is something that could be optimized, but sometimes isn't?

**Tags:** rendering, performance, optimisation


---

## 2 answers

### Answer by username_1 on 2023-08-10. Score: 1

There are a number of reasons CPU usage goes up with viewing distance but the fundamental reason is the number of objects that need to be processed goes up.

Increasing viewing distance linearly increases the viewing area quadratically. Which means the number of items that must be considered for drawing increases quadratically.

There are many techniques to mitigate this, some of which you suggested but at the end of the day the shear number of items that needs processing is going to drive CPU usage up.

There are GPU based algorithms that can process millions of items but incorporating those into a game engine is non-trivial especially for a game that has already been published. There are also hardware limitations that must be considered when implementing GPU based algorithms.

Also, there are many games that have very large viewing distances. World of Warcraft comes to mind as an older game that allowed scenery to be viewed for many kilometers, and it did so on "ancient" hardware. So it is possible to overcome this problem.

At the end of the day it is going to depend on the goals of the project. The skills of the development team and the capabilities of the underlying hardware.

> **Comments:**
> **username_1**: I new writing exponential would get someone's hackles up. I changed it, but the only goal was to capture that high rate of growth in a term that a wide audience would easily understand.  

---

### Answer by username_2 on 2023-08-10. Score: 1

This depends on the application.

If the rendering distance is larger, more objects have to be managed by the CPU. For example Minecraft, there you have "chunks" that store the block information of an area of 16x16x256 blocks. When you move, new "chunks" come into the view area, so the CPU has to load or generate them.

In other games, new objects (geometry) must be loaded from disk and sent to the GPU. Modern games have so many textures and models that the GPU is not able to store them all. So the CPU has to decide which textures and models are needed.

Other aspects can also play a role. For example, animals walking around. As long as you are too far away to see them, they don't need to be updated. But if the rendering distance is greater, they should move.

More rendering calls also play a role. However, not as strongly as the aspects mentioned above. Because in general, the number of different geometries that need to be rendered should not be too large. And with instance rendering, objects with the same geometry can be rendered multiple times with just one drawing call.

> Does a high draw distance always imply high CPU usage, or is something that could be optimized, but sometimes isn't?

No. The render distance is part of the projection matrix. When comparing two render calls:

1. **Entire scenario is in range:**
2. **Entire scenario is in range, but render distance is doubled:**

The rendering time will be the same.

Even with drawing calls for each geometry in the world, both renderings will take the same amount of time (on CPU). On GPU, of course, things look different...

> **Comments:**
> **username_1**: The render distance isn't necessarily part of the projection matrix, the infinite projection matrix is very popular. Among other things an infinite projection solves the issue of the sides of a projection being much longer then the center.  (especially for large viewing distances)  Another issue it resolves is showing extreme detail reduction for very large viewing distances such as showing a billboard for an entire mountain range that is many kilometers (such as 50km away) in the distance. While still maintaining a spherical viewing distance of 1km.  

---

