On 4k textures and high poly meshes

You might be tempted to use them. Don't.

Summary

Created: Jul 18 2025 by mana vortex Last documented update: Jul 18 2025 by mana vortex

This page will tell you why high resolution textures and high poly meshes are bad practice and why you should stay away from them.

Further reading

Why Does 4k Gaming Require So Much VRAM? (Tom's Hardware)

Does Polygon Count in 3d Modelling Matter For Game Assets?

Optimize mesh rendering using level of detail (UNITY docs)

A Stream Algorithm for the Decimation of Massive Meshes (academic paper, RWTH Aachen)

TL;DR

Game asset resolution is optimized to have the lowest possible and highest necessary resolution. The highest resolution will only be used on extreme close-ups on high video resolution, so most of the time, the extra data will be discarded.

For that reason, extra detail is sloppy: most of the time, the game will have to do extra work to throw it away. Do not be sloppy.

In addition, high-resolution files are bigger: loading them will take longer and clog up VRAM, thus causing lags and stutters.


File size

Let's start with a truism: high resolution has a higher file size than low resolution.

That is bad, because whenever a file is streamed from disk ("loaded"), it has to go through your VRAM. When VRAM is full, the game will use your "regular" system memory, and when that is full, the data will be cached on disk.

A NVIDIA 2080 has 8GB VRAM, a 4080 has 16GB. Your regular gaming notebook has 16GB of system memory.

How many 4k textures does that fit?

Assuming that your 4k texture has a size of 32MB, an average gaming notebook can hold 256 of these in its VRAM — if it loads nothing else.

And those high poly meshes?

With those, it is not the file size that causes the problem, but the number of vertices (see Meshes and Level of Detailfor more info): every vertex (point) and face (triangle) on a mesh adds to the workload of the GPU.

Have a comparison of the female base body mesh:

Number of vertices
Number of triangles
File size (MB)

Vanilla

4641
7896

0.9

Angel Body (Hyst)

28863
52124

1.5

The modded body has over 6 times as many verts, but the file size is "only" 150%.

Screen Resolution

How many texels are sampled depends on the screen resolution: guess what you need to make use of those sweet 4k textures? That's right.

I don't know about you, but I'm not rich enough for a GPU that can handle Cyberpunk at 4k.

But I am that rich!

So you're running Cyberpunk on your 4k monitor in 4k resolution. Surely you will now make full use of those huge-ass textures?

Wrong!

Game engines are optimized towards the minimum. Unless you are right in front of something, the game wil use mimapping to show lower-resolution versions of it. So you see, you'll only really benefit from 4k textures during macro photography.

Most of the time, those extra voxels only fill up memory.

Texture Resolution and Visual Return

When you double texture dimensions, you quadruple pixel count (and memory usage):

The data below is about a single texture. Your clothing item will have at least two (Albedo and Normal) — and that's without colour variants!

Image resolution
Pixel count
Size in MB (BC7 compressed)
Size in MB (uncompressed)

256x256

262144

0.1

1.0

512x512

1048576

0.5

4.0

1024x1024 (1k)

4194304

2.0

16.0

2048x2048 (2k)

16777216

8.0

64.0

4096x4096 (4k)

67108864

32.0

256.0

As you can see, the numbers are getting bigger quickly. That's why Cyberpunk's shaders are optimized the way they are.

Meshes and Level of Detail

3D models are rendered in real time. For that, every triangle counts!

Visual return

Extra polygons offer little improvement, unless the object is extremely close to the camera. If that is not the case, they can even cause problems by introducing visual glitches such as tearing.

Screen Coverage
Object Type
Typical Poly Count
Visual Return

15%

Player Character/weapon

40,000-120,000

1.00

10%

NPC/Enemy

20,000-40,000

0.80

5%

Significant Prop

4,000-20,000

0.60

3%

Small Prop

1,000-4,000

0.40

1%

Distant Prop

<1,000

0.20

0.5%

Very Distant Object

500

0.10

Ray tracing

Here's a brief explanation on how raytracing works:

  1. For each pixel on the screen, the engine shoots a virtual "ray" from the camera

  2. on contact with an object, the game calculates its surface properties (material, colour, reflectiveness...)

  3. Based on those properties, additional bounce rays will be created that influence nearby surfaces

  4. For performance reasons, this is usually cut off (capped) after a number of bounces

Overly detailed meshes can drain performance here, as it adds bounces that you won't even see.

Last updated