Question How to Fake or Create Virtual CPU Cores or Threads on Windows

Karadjgne

Titan
Ambassador
No, you can't create or fake threads, even virtual ones. The cpu will not allow it. If you think of a thread as a thought, the cpu can only think one thought per core at a time. Hyperthreading allows the cpu (bandwidth permitting) to think 2 thoughts per core. This is done on a hardware level, everything the cpu has to deal with gets only 1-2 thoughts at a time. Period. Fake/virtual threads would have no basis or support. It'd be similar to wearing pants with a fake 3rd leg. Or a person with only 1 leg and you add a virtual leg to a pair of jeans. Good luck walking or putting weight on it.

There's only one way to add cores/threads beyond what your cpu has. Replace it.
 

kanewolf

Titan
Moderator
You can write software that has 1000s of threads. But the hardware will limit how many can execute at one time. The other 999+ threads will wait to run. You will cause the cache on the CPU to thrash and hurt the performance of the few threads that do run.
 
sorry but no way to fake that. if the game wants more cores/threads, then you have to give it to it. just no way to fake that type of thing.
There is exactly zero amount of games that NEED a certain amount of cores to run, all games spawn as many threads as they need or want and it's up to the OS to make it work.
That said there are games that have been "ported" (they haven't) from consoles,consoles use the first two cores for the OS so that games start using cores 3 and up,it has nothing to do with needing more cores it's just laziness when compiling for windows you have to tell it to use any cores available.
And this you can fake, you can tell games (or the OS more likely) that core 0 is core 3.
 

Karadjgne

Titan
Ambassador
There is exactly zero amount of games that NEED a certain amount of cores to run, all games spawn as many threads as they need or want and it's up to the OS to make it work.

GTA:V has a game requirement of 4 threads, will not run on less unless it's hacked. There's a ton of games with similar requirements and not just recommended minimums. Assassins Creed Origins won't run on older FM2/+ platforms because it needs certain instruction sets that aren't available for that particular cpu series, but are available in the AM3/+ series.

So yes, games are quite cpu dependent, and not just for clock speeds and IPC.
 
Last edited:

USAFRet

Titan
Moderator
A game running on non-existent core 3 runs at 0FPS (not at all) if you tell it to run on core 0 you get some FPS,it's a crazy high percentage performance benefit.
So...

If the game wants and is written for x cores.
Your system does not have x cores.
You fake it, and inform the software that your system does indeed have x cores, when it physically does not.

And you're expecting usable performance?
Good luck with that.
 
Apr 25, 2019
14
0
10
So...

If the game wants and is written for x cores.
Your system does not have x cores.
You fake it, and inform the software that your system does indeed have x cores, when it physically does not.

And you're expecting usable performance?
Good luck with that.

Nope I expect it to run.

R6 won't run anymore on dual core as devs said and after I upgraded to 4 physical cores it still doesn't work
 
Apr 25, 2019
14
0
10
Current situation - 0FPS, due to a below spec CPU.
Faking it so that it "runs" = 3FPS. Infinity gain over 0.

Usable?


You've still not informed us of exactly what hardware you have, and what software or game won't run.

Game: Rainbow Six Siege (For Honor had the same issue and got fixed in couple of days)
Windows 10 Home
GTX 970
Core i5 3470
8GB RAM
H61M-S2PT Motherboard
Corsair VS650 PSU
 

USAFRet

Titan
Moderator
Game: Rainbow Six Siege (For Honor had the same issue and got fixed in couple of days)
Windows 10 Home
GTX 970
Core i5 3470
8GB RAM

H61M-S2PT Motherboard
Corsair VS650 PSU

https://www.systemrequirementslab.com/cyri/requirements/tom-clancys-rainbow-six-siege-beta/12864
Rainbow Six Siege requirements:

Recommended Requirements

  • CPU: Intel Core i5-2500K @ 3.3GHz or better, AMD FX-8120 Eight-Core @ 2.6Ghz or better
  • CPU SPEED: Info
  • RAM: 8 GB
  • OS: Windows 7 64 bit, Windows 8 64 bit, Windows 10 64 bit
  • VIDEO CARD: NVIDIA GeForce GTX 670 or AMD Radeon HD 7970 / R9 280x (2GB VRAM)
  • PIXEL SHADER: 5.0
  • VERTEX SHADER: 5.0
  • SOUND CARD: Yes
  • FREE DISK SPACE: 47 GB
  • DEDICATED VIDEO RAM: 2 GB
---------------------------------------------

You appear to be reasonably at or above the recommended.
Problem?
 

boju

Titan
Ambassador
If Windows registers 4 cores then its six siege. Like farcry 4/5/new dawn, ubi use core detection as you know. No idea where this is.

Could try verify the game files.

Do you have this game on Steam or Uplay? Steam can backup games into an installer, not sure about uplay. Could try reinstall the game so it re-scans the system if that is how their core detection works. Might as well reinstall Uplay too incase thats at fault.
 

Karadjgne

Titan
Ambassador
I believe boju might have hit the nail on the head. Many games make an ini file on install, that doesn't get updated usually. Swapping out the cpu wouldn't change anything, that ini file is still running as it was. When opening the game, the ini file gets read first, and it's prolly reading something inane like 'quad thread = "false"' and shutting it down.
 
GTA:V has a game requirement of 4 threads, will not run on less unless it's hacked. There's a ton of games with similar requirements and not just recommended minimums. Assassins Creed Origins won't run on older FM2/+ platforms because it needs certain instruction sets that aren't available for that particular cpu series, but are available in the AM3/+ series.

So yes, games are quite cpu dependent, and not just for clock speeds and IPC.
And what exactly are they hacking in then if adding more cores/threads is impossible?
 
So...

If the game wants and is written for x cores.
Your system does not have x cores.
You fake it, and inform the software that your system does indeed have x cores, when it physically does not.

And you're expecting usable performance?
Good luck with that.
How do you get this conclusion from the exact opposite which is what I said?
Games (the ones I'm talking about) are not written for x cores they are written to start at x core without caring about if this x is out of bounds or not.
Devs can pick and choose to send certain workloads to certain cores because on consoles the game is the only thing running, they aren't "crossing wires" with any other workload,which is also why devs avoid the first two cores since the OS is running there.