Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
Gaming = Off
Rendering = On
Circumstances:
If the game/software has been designed for SMT (Intel brand is HyperThreading) then enable it.
Most games (eg 9 out of 10) suffer performance drops when it is enabled as a HyperThread (virtual) core is only worth 30% of a real core and all cores are seen as the same by software - even virtual cores.
https://www.pugetsystems.com/labs/hpc/Hyper-Threading-may-be-Killing-your-Parallel-Performance-578/
Further answers and insights from other people would be very much appreciated :)
No problem, I did a fair bit of research on hyperthreading back when I started gamedev in relation to game engine architecture so if you want the non-gamedev tldr ht adds about 30%, but for software that isnt created with ht in mind, ht on actually hinders.
I'm no expert on this stuff but I know differences when I see them. I had it disabled for temp issues. I found this helpful:
https://linustechtips.com/main/topic/519518-should-i-disable-hyperthreading-for-gaming/
That article from pugetsystems is over 3 years old. Read the comments and you will see how irrelevant it is. First, the author seems uncertain if he even agrees with himself, then later he is saying he has changed his mind and recommends leaving HT on.
The dev for this program has stated in another post that its generally better to leave hyperthreading on.
I think you should test both on a variety of games and see what you think. Run your own benchmarks and see if you notice a difference. Everyone seems to have a unique opinion on this one.
I will try with my Intel Core i7 4700MQ @ 2.40GHz running Far Cry 3 in CPUCores @
1920 x 1080 with Hyper Threading ON: 25 - 30 Fps
and then
1920 x 1080 with Hyper Threading OFF: 20 - 25 Fps
and let you know my FPS difference between the two. : ]
As this is the only way that the real core gets full access to the portion of the L2 cache.
If you leave HT on in the BIOS and just tell CPUCores to avoid HT, this will not be positive as technically HT is still on (at BIOS level), and therefore half each core's L2 cache is still for the HT even if you aren't using the HT on each core.
The only true full way to get the benefit from HT off is to actually turn it off in the BIOS.
As the main help is each true core having full access to 100% of its L2 cache.
(L2 cache full sharing became possible in later gen CPUs, mentioned further down in this post of mine)
This certainly applies to gen 1 Core i7 as the L2 cache is not shared across all cores, and may also affect some later gen Core i series chips but there was also a point in generations whereby the L2 cache is not subdivided among each core anymore and the L2 cache is actually 1 big pool that any core can fully use - I just can't say off the top of my head right now which gen the cache became possible for full use by any core(s).
Regarding above posts referring to what I posted and the linked article issues - you are indeed fair on those thoughts as the article was not the exact article I hoped to find but was another article on that site by the same author... I just couldn't re-find it when I posted but I was looking for his findings regarding the amount of a HT being 30% (It was late when I posted and I don't think I could find the exact article I wanted to post here, sorry).
Regarding the above persons posts regarding Fallout 4, that makes slight sense to me your findings as it was with a newer gen CPU and the Fallout 4 engine is a newer, more modern engine therefore may tailor more to HyperThreads being a benefit as the Creation engine may these days utilise HyperThreads leading to positive gains with HT on.
Also of note is the fact Fallout 4 was being ran in 4k rather than 1080p... I would expect the HyperThreads were of help as high settings would ask more of hardware therefore reducing hardware output by 30% on a modern engine would have noticable negative impacts.
For all my info regarding gaming with HT off, the advice will become less and less relevant as time goes on with regards to newer engines being made to fully utilise all and any cores (real or virtual).
AAA studios tend to cater for this these days if they have the ability to write their own engines.
Studios that choose to use Unreal, Unity3d, CryEngine, LumberYard etc will also these days be able to take advantage of this.
The few situations where you see 'HT off' a benefit tends to be older engines not developed to utilise SMT eg they just peg aspects of the game engine to specific cores - an example of this is the game engine for Test Drive Unlimited 2 developed by Eden.
The other situation is just old games that were only designed to use 1 or 2 cores as if these types of games load a virtual core with tasks, it will only be able to perform at 30% of the real core thus causing a bottleneck - so you end up having the real core always waiting on the virtual core to catch up and be ready, leading to reduced performance when compared to just using the real core(s).
Showing my age a bit but when Pentium4 came out it was the start of HyperThreading and soon we found that having it enabled was a negative impact on the performance of current software at the time as the virtual core had only 30% of a real core at it's disposal and software really wasn't designed to utilise SMT back in 2004 (I feel like a dinosaur now!)
*HyperThreading is just Intel's own brand name for SMT btw
https://en.wikipedia.org/wiki/Simultaneous_multithreading
Spoiler
If you got this far here you go, enjoy... ;o) https://www.shadertoy.com/view/Ms3XWN
hth
No problem, glad the wall of text was of use.
Here's Intel own animation on cache usage.
Basically 45nm gen 1 core i is old cache method.
32nm (so some gen 1 and all gens after) is using Smart Cache
hth
https://gaming.youtube.com/watch?v=bE9EbQOeb_U
SMT allows the CPU to ONLY handle bigger loads, as in do MORE at once which can result in being technically "faster" but it's not really faster in the way you think, it's like giving more hands to someone but those will be moving at the same speed as before.
Edit: I had a tested BF4 along other heavy games with an i7 920 at stock with and without Hyperthreading, without it would mostly stutter and have a hard time keeping up, however with it, there was absolutely no problem. Then overclocking without HT made it able to handle game fine with occasional hiccups upon reaching 100%, then with the OC and HT, the CPU was able to flawlessly play.
This was also done with a Xeon 5675 up to 4.4GHz, had the same results which made me come to the conclusions of it.
Here's a few more tests that I've conducted and put on paper; https://www.dropbox.com/s/yuyodnh7f6snl94/Physical%20Cores%20and%20Hyperthreads%20Tested.txt?dl=0
CST = Core Single Threaded, CMT = Core Multi-threaded