I did release this video earlier but have decided to reupload it with a few extra warnings,
since a lot of you pointed out that the result may be different with CPUs with lower numbers
of cores.
I have 6, so if you have 2 or 4 then disabling multithreading may affect your PC differently.
Unfortunately, I have no systems that I can test these out on.
So proceed at your own risk.
Skadoodle claimed that disabling Hyperthreading improved his frame-rate in CS:GO.
He has a 4-core, 8 threaded CPU, by the way.
Any way, I’ve tested what disabling hyper-threading does to frame-rate and discovered that it
increases how many I’m getting.
Not by a HUGE amount, but it was noticeable.
So what is Hyper-threading?
Take a look at this WONDERFUL diagram that I drew earlier.
100% accurate.
Guaranteed.
More cores allow for more data to be processed at the same time.
BUT Hyper-threading treats a single core as if it’s 2 cores, potentially processing
double the data.
Have another BEAUTIFUL diagram.
Thanks to TheCatOfWar, who lovingly made it look prettier and more understandable than
my attempt.
These blocks represent data, colour-coded by the thread that processes them.
On the left-hand side is video-editing.
It has to handle lots of small, bite-sized bits of data at the same time, so at no stage
does it get bottlenecked by the core’s resources.
Hyper-Threading is very good in these situations and performs faster than a non hyper-threaded
core.
I mean, it probably won’t be double the speed but will be somewhere between the speed
of 1 and 2 cores.
Now take a look at the model on the right.
Remember that a Hyper-Threaded core is still just one core in reality, so it shares the
same limitations in some parts.
And in CS:GO’s case, this shows as the data it has to process is too large for the core
to handle 2 bits at once, resulting in a bottleneck.
If this is the case, a Hyper-Threaded core no faster than having a normal, non-Hyper-Threaded
core.
I hope you enjoyed these diagrams.
If so then subscribe.
Now onto the benchmarking.
It’s a lot easier to test with Hyper-threading disabled, so let’s start with that.
I disabled it in my BIOS.
I ran the FPS benchmark test in CS:GO with different numbers of cores enabled.
You’ll notice that I didn’t get a result for 1 and that’s because it would grind
my PC to a complete halt, regardless of which core I used.
Seems that CS:GO needs at least 2 cores.
Just don’t try running it on your PC from 2003 and you should be fine.
The results were nice and simple: you can see that my framerate went up, the more cores
that I used.
It’s interesting that CS:GO is optimised for more than 4.
I wonder how far it goes up to.
This was all benchmarked on lowest everything and with multi-core rendering enabled.
At NO point in my testing was my framerate better with this disabled.
It would consistently halve my framerate, regardless of the number of cores I was using
and whether hyper-threading was enabled or not.
Now the results with Hyperthreading enabled.
You can see that my PC now looks as though it has 12 cores.
The proper term for this is ‘threads’ as the number of cores is still 6.
But which of these are the real cores and which are the Hyper-threaded, fake ones?
Well, it doesn’t work like that.
I could run a benchmark using any of these 12 and they would all be the same speed as
each other.
But if I tried benchmarking all 12 of them at once then the result might only be 6 times
as fast as if I was using 1.
This is because of the limitations of Hyperthreading.
The scaling really depends on what you’re benchmarking.
But I’m using CS:GO.
Once again just 1 would crash my PC so I started with the first 2 threads enabled and then
added one more every time up to 12.
And my framerate went up a bit every time; regardless of whether I was adding a new core
or the hyper-threaded part of an existing one.
But even with all 12 enabled (that’s all 6 cores and their fake hyper-threaded ones),
my framerate wasn’t as fast as if I was using all 6 cores WITHOUT their hyper-threaded
ones.
So yeah.
Hyper-threading can be difficult to get your head around and some of the results surprised
me quite a bit.
If hyper-threaded cores are slower in CS:GO than non-hyper-threaded ones, then you’d
imagine that if disabled one thread from every core that it would become faster.
And it did by just over 1%, but still wasn’t as good as with hyper-threading disabled in
the BIOS.
I don’t think that I’m knowledgeable enough to come to any further conclusions on this
matter.
All of my results were from a CPU-limited benchmark, so you may get different if your
GPU is bottlenecking your system.
But I found that the more cores you have enabled, the better your framerate, but it’s still
better to use cores with hyper-threading disabled than those with.
And disabling CS:GO’s multi-core rendering option always halved my frame-rate.
But like I said at the beginning, your system might yield different results.
For example, if we compare 4 cores with 8 hyper-threaded then you’ll see that 8 HT
is higher.
It depends on how the hyperthreading is allocated across my cores and just how scaleable CS:GO
is, but there’s no way of me knowing how it will affect other computer setups.
If you’re interested, then please test it for yourself.
And perhaps comment with what happens as it could help me as well to know.