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
Hyperthreading is not a real CPU. Instead, it is a virtualized CPU. If you are playing a game that can only use 2 CPU threads at once, then you will get far better performance giving it 2 real CPU cores, versus 1 real cpu core and 1 virtual cpu core. So what CPUCores does is ensure that a game is NOT using Hyperthreading, and instead is only using actual cores. Note: This is an option in the software. You can enable/disable it on a per-game basis. Here is a good read on what Hyperthreading is: https://en.wikipedia.org/wiki/Hyper-threading
"everything can be done in the task manager. "
This is not correct. Some of the videos and descriptions of what CPUCores will explain it more. For example, it doesn't just touch the actual game itself. It identifies and modifies how your OS processes are running, your non-game processes, your game itself, and wraps it all up into an extremely easy to use Steam-integrated program.
"theoretically be no way to improve the performance without directly increasing the processing speed of the chip"
This is not correct. The easiest way to understand it is this: Which is better for a game? 70% CPU of a core, or 100% CPU of a core? This is exactly what CPUCores will do - it will clean up what processes are what and then present a nearly 100% clean and unused core to your Steam game. (Amongst other features of CPUCores).
I have a few videos of CPUCores being used by some actual games. I encourage you to check this out: http://steamcommunity.com/app/384300/discussions/
I hope that helps you understand things.
Cheers!
Tim
So unless your doing heavey Multi Tasking or applcation that require lots of threads like video rendering, your acutally taking a preformence hit by having it enabled.
I've actually seen some games use Hyperthreading for a benefit, but that seems to be extremely, extremely rare.
That being said, CPUCores doesn't disable Hyperthreading globally. Instead, it is game-by-game basis, which makes it real easy.
Plus, CPUCores will keep Hyperthreading on for the OS + non-game processes by default, which can actually take advantage of it due to the sheer number of small cpu resource processes (that add up).
Ironically the 70%, because sustained 100% usage of a single CPU core on older systems with aged CPUs and worn out thermal and clogged dust is very very likely to go and hit its temperature peak at which point you get a safety downclock of all the cores.
On laptops and their more constrained capacity for heat dissipation, this is practically a given even on brand-new hardware.
You make a good point, but I wouldn't recommend buying CPUCores if you have to downgrade your CPU speed to stop it from catching fire :)
I did...And pretty much every game ran smoother and more stable.
Yes I have. I honestly can't think of a game off the top of my head where Hyperthreading actually helps. So, for CPUCores, I just have Hyperthreading disabled by default.
It basically is a game case-by-case basis, since CPUCores does things game-by-game. As in, GameA can have HT enabled, GameB can have it disabled.
Something to note: I plan on doing a lot more videos, especially as time goes by. The next 2 weeks I'll be focusing on some updates, and hopefully a few more videos as well.
Hey there,
Imagine a CPU Core is a check-out worker who is at a grocery store, ringing up your groceries. Now imagine she has 1 of those conveyor belts with 1 customer, and the cashier is ringing up that customer. The cashier grabs 1 piece of food, rings it up, then grabs 1 more. The customer and their food = games/programs, and the cashier = CPU core.
Now imagine the same cashier, but instead of 1 conveyor belt with 1 customer, the cashier has 2 conveyor belts, each with their own customer. So now the cashier can ring up TWO customers at the same time. However, the cashier can only ring up 1 piece of food at a time. So the cashier grabs 1 piece of food from Customer A, and then 1 piece from Customer B, and another piece from Customer A, etc. This is how Hyperthreading works (in a nutshell). The Hyperthread is the second conveyor belt with the second customer.
So now imagine now you have to buy 100 pieces of food. Which is faster? 2 separate conveyor belts, each going to their own cashier, or 1 cashier with 2 conveyor belts?
The answer is 2 conveyor belts, each going to their own cashier. AKA 2 CPU cores. Because 1 cashier can only check-out 1 item at a time, regardless of 2 conveyor belts, whereas 2 cashiers can do twice the work as 1.
This is why, if you have the ability to choose, always have your game be on actual CPU cores VS being on hyperthreads virtual processors.
Simple lets say your game is 2 cores enabled...
The game will then run on Physical core #1 Twice and not Physical core #1 & # 2, It see HT enabled and think cpu #1 and #2 are 2 physical sperate cores... When in true there not...
what happens here is the game then issue 2 threads to a single Physcial CPU and threads begin to collide , Not only dose this cause issues, it reduces output preformance that single physical CPU...
thats not even count any background task that may invade your clock cycle that your game may be running on...
So unless I miss my guess you are essentially making a macro-like program for setting the affinity masks for the currently executing applications. My concern is setting everything to the first core. How does this help when you shove the video drivers into a loaded core when using something like the nVidia 64bit multithreaded drivers? Wouldn't you want those to have decent processing time?
There really should be an option just to disable hyperthreading if that is an area you have determined causes perfomance issues on loaded machines, but perhaps also an option to allow the OS to control the affinity itself for the real cores. A game that uses a consistent amount of CPU power is usually handled quite well by the OS, and the remaining threads are distributed quite well across the available cores. At least that's what my profilers have shown in the past.
No, it isn't a macro-like program :) CPUCores actually looks at what processes your OS has, your non-game stuff, and your game, and then it actively starts to create sort of virtual segments for what gets CPU resources and how.
"There really should be an option just to disable hyperthreading "
There is! Take a look at any CPUCores screenshot and you'll see the option :)
Take a look at the benchmark sticky in this forum. There are 4 videos listed. In the videos, I touch on some of the features of the software. So if you'd like, watch the whole thing for the benchmark results, or just watch the beginning of them to see how I describe things.
More videos are forthcoming, too!
Right, I understand, but what I mean by macro-like is you have simply automated the process. If I am reading into this right, you monitor for a given process/thread and prioritize that wiuth the affinity mask depending on what the user selects. The active process part I think monitors for heavy CPU users and basically balances them out. Effectibely this is a modifier for the Windows process manager to try and ensure the game has priority in a given core while excluding the rest of the precesses from that core(s).
But I am still most curious about things like game related drivers (video, controller, etc), how do you ensure stuffing all that into one core wil give it enough breathing room to perform? I guess the better the CPU the less of a concern this is?
Ahh, I see. Good question!
That's also part of what CPUCores does. It doesn't blindly go about and treat every single OS process the exact same way. It is intelligent to know what processes shouldn't be touched much, which ones should be touched a certain way, etc. (Side note; That sounded real, real bad, hah!). So, for example, take the HID driver, which assists with all your keyboard and mouse stuff. If CPUCores told that process to have dirt-low CPU consumption, then your keyboard probably wouldn't work ever again. So CPUCores is intelligent enough to know to not do that.
This is why I say that CPUCores is so much more than just clicking a game in task manager and assigning it to a core.
PS: Despite the cool things CPUCores does now, there are a lot more things that'll be continually added as time goes on. The program is just going to keep getting better and better!