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.
It will also massively slow down your workflow if you're making the mod. All the tools will take a lot longer to load and process things, and will be more prone to crashing. As will your sanity.
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:
Vanilla
0.9
Angel Body (Hyst)
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!
Good for you! Consider donating to Wolvenkit, because we sure aren't.
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.
Texture Resolution and Visual Return
When you double texture dimensions, you quadruple pixel count (and memory usage):
256x256
0.1
1.0
512x512
0.5
4.0
1024x1024 (1k)
2.0
16.0
2048x2048 (2k)
8.0
64.0
4096x4096 (4k)
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
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.
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
Workflow Issues
While working with high-poly models and 8K textures might sound appealing in theory, in practice they will destroy your workflow and your mental health along with it. Everything will take more time and effort, for basically no perceptual gains in-game. Here's why:
If you're working with 8X the polycounts and texture resolution, it will take you considerably longer to do basically anything in the modding pipeline.
More geometry will increase the likelihood that your edge flow breaks down in some places, because you are routing 8X the number of edges. It also makes it harder to visually see where its going wrong because there are so many highlighted orange dots and lines.
Skinning will be a pain. Skinning low-poly objects is easy, high-poly? not so much, because things like manual painting are very fiddly. 1 speck of paint on the wrong vertex in the wrong place = nasty deformations.
If you encounter any nasty stretching/squashing/other modelling issues, it will take you that much longer to fix it.
If your mesh is skinned and has physics, and you have 8 bone influences per vertex, each frame will take significantly longer to compute. That means sluggish previews, slower exports, and longer iteration times during testing and troubleshooting.
Importing, exporting, baking, rendering, and previewing 8k textures takes fucking AGES. All the time you could spend iterating and hot reloading resources is spent waiting for Wkit to finish dying.
Lastly, it ruins the joy of modding for you, the modder. Instead of spending time editing, changing things, and learning from the process, you’re going to lose your shit to your case fans spinning up to jet turbine levels and blender crashes, hoping it's shitty autosave function saved something.
If you don't trust me, just make an 8K mod from scratch and find out for yourself. You've been warned:

Ray tracing
Here's a brief explanation on how raytracing works:
For each pixel on the screen, the engine shoots a virtual "ray" from the camera
on contact with an object, the game calculates its surface properties (material, colour, reflectiveness...)
Based on those properties, additional bounce rays will be created that influence nearby surfaces
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