system
A chat on subreddit /r/pcmasterrace
human
Im not a tech guy, so I'm oblivious to it, but is there a way to future proof cpu usage? Like, give a program/game access to whatever many cores/threads there can be?
gpt
If an app asks Windows to provide multi-threading support, then Windows tried to spread the workload evenly, no matter how many CPU/threads are there. Or one can force Windows to do it by Task Manager - just assign the app to a single CPU thread, apply, then assign back to all. However, if the app has only 1 heavy software thread running - this will achieve literally nothing. So, say, Half-Life can use 100% of one CPU thread, or 25% of 4 CPU threads - performance will remain pretty much the same. Say, a game is given a task to draw object A, and object B 5 meters away. You can assign these 2 tasks to 2 separate CPU threads, but how do you calculate 5 meters from object A, if it isn't created yet? Thus the second thread will have to wait anyway. D3D12 and Vulkan are much smarter about this than older APIs, much better at spreading the workload, but there always are tasks that can't be parallelised. It's way different with GPUs, as there are millions of pixels and hundreds of independent tasks, thus GPUs have thousands of cores. No way to future proof from CPU side, just buy at least mid-range one and replace it a few years later if its performance is not satisfying you anymore.