CPUCores :: Maximize Your FPS

CPUCores :: Maximize Your FPS

View Stats:
The Grapist Jul 6, 2015 @ 11:49am
Why on earth would you disable Hyperthreading?
This makes no sense at all, basically everything that is done here can be handled through Windows or even Unix itself.

First: Hyperthreading is in itself a massive performance improvement, so why would you for any reason disable it? I mean if a title has issues, you can set not only the processing affinity, but the core affinity as well through task manager. If you have any concept of how multithreading works, you would know that modern microprocessors are capable of writing multiple instructions per clock cycle, and in addition, utilizing multiple threads from the same process.

I see no reason as to the purpose of this tool, everything can be done in the task manager.
In addition, there should theoretically be no way to improve the performance without directly increasing the processing speed of the chip, or improving the utilization (or adaptation) of the instructions in the processor chip itself.
< >
Showing 1-15 of 48 comments
🆂tartup🆃im Jul 6, 2015 @ 11:55am 
The answer is real easy:

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

Last edited by 🆂tartup🆃im; Jul 6, 2015 @ 12:08pm
MadDoggyca Jul 6, 2015 @ 1:24pm 
Simple, HT tells a single clock cycle to handle 2 threads at once.. this causes thread collision. For Single thread application having HT turn off will incress core output with out worring aobut thread collision

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.
Last edited by MadDoggyca; Jul 6, 2015 @ 1:50pm
🆂tartup🆃im Jul 6, 2015 @ 1:47pm 
Great explanation MadDoggy :)

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).
RiO Jul 6, 2015 @ 3:19pm 
Originally posted by TimDimmDrive:
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?

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.
🆂tartup🆃im Jul 6, 2015 @ 3:26pm 
I see what you're saying RiO and yea, if a CPU has bad thermal paste, tons of dust, etc., then you'd really want to keep the %% low on it. But that really is an extreme situation, and I can definitely say that CPUCores isn't meant to deal with situations like that.

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 :)
YoWutSup Jul 6, 2015 @ 8:29pm 
OP, have you ever tried disabling HT to see for yourself whether it improves performance or not?

I did...And pretty much every game ran smoother and more stable.
Last edited by YoWutSup; Jul 6, 2015 @ 9:59pm
Yeahbroyeah Jul 6, 2015 @ 8:36pm 
So does this sfotware automatically know how many cores to enable/disable according to the game? Or do we have to know the right setting and input that into the software for each game? What I'm trying to say is, what does the gamer have to do other than running the software?
🆂tartup🆃im Jul 6, 2015 @ 8:53pm 
Originally posted by YΦ Wµ┼ §up:
OP, have you ever tried disabling HT to for yourself whether it improves performance or not?

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.
yumri Jul 6, 2015 @ 9:20pm 
how and/or why would hyperthreading help or hurt games? really most games only use 1~4 cores now and hyperthreading will make a dual core show as 4 cores which um depending on how it handles it might be better might be worse but from a elecronical sitruration it will not help any from turning it off as then it gets devided between 2 cores instead of 2 cores running 4 threads .... hyperthreading is down through having 1 core run 2 threads how it is explained to me anyways is you cannot have the same core on adjustent parts having an electronical charge thus why it is only 2 threads instead of 4 each but becuas they have 4 parts you can have 2 running at once and in that why would hyper threading hurt at all ?
🆂tartup🆃im Jul 6, 2015 @ 9:29pm 
Originally posted by yumri:
how and/or why would hyperthreading help or hurt games? really most games only use 1~4 cores now and hyperthreading will make a dual core show as 4 cores which um depending on how it handles it might be better might be worse but from a elecronical sitruration it will not help any from turning it off as then it gets devided between 2 cores instead of 2 cores running 4 threads .... hyperthreading is down through having 1 core run 2 threads how it is explained to me anyways is you cannot have the same core on adjustent parts having an electronical charge thus why it is only 2 threads instead of 4 each but becuas they have 4 parts you can have 2 running at once and in that why would hyper threading hurt at all ?


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.
Last edited by 🆂tartup🆃im; Jul 6, 2015 @ 9:31pm
MadDoggyca Jul 6, 2015 @ 9:30pm 
Originally posted by yumri:
how and/or why would hyperthreading help or hurt games? really most games only use 1~4 cores now and hyperthreading will make a dual core show as 4 cores which um depending on how it handles it might be better might be worse but from a elecronical sitruration it will not help any from turning it off as then it gets devided between 2 cores instead of 2 cores running 4 threads .... hyperthreading is down through having 1 core run 2 threads how it is explained to me anyways is you cannot have the same core on adjustent parts having an electronical charge thus why it is only 2 threads instead of 4 each but becuas they have 4 parts you can have 2 running at once and in that why would hyper threading hurt at all ?


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...
Last edited by MadDoggyca; Jul 6, 2015 @ 9:34pm
Whargod Jul 6, 2015 @ 9:41pm 
Originally posted by TimDimmDrive:
The answer is real easy:

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 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.
🆂tartup🆃im Jul 6, 2015 @ 9:49pm 
Hey there,

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!
Whargod Jul 6, 2015 @ 10:29pm 
Originally posted by TimDimmDrive:
Hey there,

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?
🆂tartup🆃im Jul 6, 2015 @ 10:33pm 
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!

< >
Showing 1-15 of 48 comments
Per page: 1530 50

Date Posted: Jul 6, 2015 @ 11:49am
Posts: 48