Getting something for nothing - yes that does exist

Status
Not open for further replies.

Nec_V20

Senior member
May 7, 2013
404
0
0
So you think you cannot get something for nothing? Let me change your mind.

OK here's the deal, you have overclocked your processor and the game you are running doesn't really get the performance boost you were hoping for.

Here is a bit of really OLD knowledge which those of us who used to work with SMP (Symmetric MultiProcessing) machines knew but it seems to have been forgotten since SMP machines have become single die "cores".

With this simple little trick you will - depending on the game - get a hell of a lot more performance (even without overclocking) and it may even cure a games propensity to crash to desktop (CTD).

Since Windows NT one has had the ability to not only adjust the priority of a process but with multi processor machines one could also set the affinity.

Getting to the point you first of all have to turn off hyperthreading in the BIOS

If you open the Task Manager and you right click on a process you will see the option "Set Affinity". What this does is it fixes the process to run off one of the cores in your CPU, and stay there.

Now you could do this manually but the pain is that when you reboot all the settings are gone. So there is a nice utility where you can store profiles and load them to automate this process. The utility can be found here:

http://www.koma-code.de/?option=com_content&task=view&id=88&Itemid=93

You are thinking to yourself, "Why the hell should I do this?"

The reason is that Windows left to its own devices will mess you and your game playing session around. The main acceleration to your processing power comes from your L2 Cache - a bit of super fast memory between your processor and your RAM.

Now what happens is that you have your game running quite happily on one of the cores of your CPU but Windows decides to swap the game over to another core which it deems to be underutilised. This will of course wipe the L2 Cache and it will have to be filled again from the incredibly slower RAM.

Also Windows works on the basis of pre-emptive multitasking, which means that processes (your game for instance) get a certain time slice on any one of the cores where it is running and then it is another processes turn - again this mucks about with your game and the L2 Cache.

So what you do is boot up your system and when it is up and running, start CPU-Control and assign all of the running processes to CPU 0. Now some games take well to multi processors and some games not so much. You will have to do a bit of research on the game engine to determine that.

If you have found that the game can only run on one processor then load the game and allocate it to one of the remaining cores. If the game can use multiple processors then simply assign the game to the other three cores (on a quad core CPU).

Assigning a game that really only runs on one core to three cores is counterproductive and you will not get the acceleration you were hoping for, so you have to do your research on the game engine.

It is not unusual to find that games which were unplayable all of a sudden feel very comfortable on your machine if your computer has a weaker CPU.

It is more of a "go faster stripe" than any overclocking will ever give you, that's for sure.

I have looked around and from what I have been able to garner those games which do take advantage of more than one core will only use two cores maximum.

Thus allocating games to three cores as I mentioned above when they can only use two cores maximum will actually negate the performance gain due to core swapping by Windows.

Probably the best bet is to just allocate the game to one core, see what kind of performance you get and then allocate it to two cores and see if the performance increases.
 

videogames101

Diamond Member
Aug 24, 2005
6,783
27
91
It is more of a "go faster stripe" than any overclocking will ever give you, that's for sure.

wrong
 

Nec_V20

Senior member
May 7, 2013
404
0
0
Well that reply was about as useful as a computer with write only memory.

Since you're new here, here's your friendly reminder that personal attacks will NOT be tolerated
-ViRGE
 
Last edited by a moderator:

Rvenger

Elite Member <br> Super Moderator <br> Video Cards
Apr 6, 2004
6,283
5
81
Either this guy is so intelligent that I can't understand or I am dumb as hell or he just typed a bunch of random thoughts and glued them together. Single core processors are better than quads silly rabbit.
 

Cerb

Elite Member
Aug 26, 2000
17,484
33
86
Either this guy is so intelligent that I can't understand or I am dumb as hell or he just typed a bunch of random thoughts and glued them together. Single core processors are better than quads silly rabbit.
It's not random at all. It is, however, the reason that Windows has changed scheduling between OS versions, and why shared LLCs have been the trend (in AMD's case, L2 as well). Only some games that have race conditions will be fixed this way, and setting affinity is already a well-known speedup technique, for programs that tend to bounce around a lot (typically, those with many more threads than you have CPUs). With cores being turned on and off, and changing speeds, often, it's not something that will help, overall, except in specific cases of programs that break.

It's a problem fixed by hardware and software, most of the time. Intel's big shared L3? Yup, that'll help. AMD's big shared L3, and semi-shared L2? Yup, that'll help. AMD's shared L2 in upcoming Jaguar? Yup, that too. Shared far caches are more complicated, but more efficient, and more tolerant of locality optimization screwups (guaranteed, with automatic scheduling), for single-chip computers. Also, Windows tries to keep threads that use a lot of CPU time on the same physical cores, whenever possible, and while not fully NUMA supporting, has some awareness of physical thread locality.

With cores getting turned off to save power, changing speeds to save power, and doing both to get the most out of limited TDP, forced/manual parking is antithetical to most people's needs. Upgrading your OS, and using a current-generation CPU, will take care of it, 99% of the time. Most of the other 1% probably involve a game from Bethesda ;).
 

nitromullet

Diamond Member
Jan 7, 2004
9,031
36
91
You used to have to set the affinity for HL2 in the early Athlon 64 X2 days to keep the source engine from stuttering. We used to just modify the launch options in Steam or create a shortcut on the desktop with the affinity set to whatever core you wanted the game to run on.

http://www.howtogeek.com/howto/wind...-assigned-to-a-specific-cpu-in-windows-vista/

...odd that someone would spam for an app that hasn't been updated since 2009...
 

Nec_V20

Senior member
May 7, 2013
404
0
0
nitromullet,

...odd that someone would spam for an app that hasn't been updated since 2009...

The software is simply activating something which is built into the OS itself. It works, and does so simply, elegantly and flawlessly on many versions of the Windows OS, so there is no need for it to be updated. The author of the utility got it right and has followed the first rule of computers, "Never touch a running system".

Thus I don't understand what your objection is even supposed to mean, considering that what the program manipulates has been incorporated into the NT family of Windows Operating Systems for nigh on 20 years.

If you read my post then you would realise that getting one process to run on one core is not the main object of the exercise. It is to have that process running uninterrupted on that core and thus having exclusive domain over that core's L2 cache by being able to quickly and conveniently assigning all the other running processes to another core or cores.

As I stated one can do this manipulation by hand, but it would mean repeating the tedious task after every reboot.

My own system is based on an Intel Core i7 990x and I don't have any noticeable CPU bottlenecks with regard to the games I like to play. Others however are not so fortunate.
 

Nec_V20

Senior member
May 7, 2013
404
0
0
With cores getting turned off to save power, changing speeds to save power, and doing both to get the most out of limited TDP, forced/manual parking is antithetical to most people's needs. Upgrading your OS, and using a current-generation CPU, will take care of it, 99% of the time. Most of the other 1% probably involve a game from Bethesda ;).

My Intel Core i7 990x (which has, apart from a couple of electrical outages in my house and adding on hardware, been up an running 24/7 for 905 days and 16 hours) is not exactly banging at the door of abject obsolescence.

I will be sticking with the Win7 Ultimate I have installed and not joining Microsoft on the trail of stupidity which is Win8. Seriously who the hell there thought that a touchscreen tablet style (and ugly) OS GUI would be a good idea for a desktop?

As a desktop OS the two things I have against Win8 can be summed up in the words, "Screen Plaque" and "Gorilla Arms".

What possessed Microsoft to market a touch-screen OS for a desktop I will never fathom. Let's face it, ten minutes of working at a desktop touch screen will annoy you with regard to the finger smudges (Screen Plaque); and waving my hands in front of my 27 inch monitor as if I were Dumbledore locked in mortal combat with Voldemort is just not my idea of a good time (Gorilla Arms).
 

BrightCandle

Diamond Member
Mar 15, 2007
4,762
0
76
He who asserts must prove. Lets see some performance data in games you have done this with showing the incredible improvements.
 

Cerb

Elite Member
Aug 26, 2000
17,484
33
86
Your i7 should also not benefit, except in a few rare cases. Windows 7 is new enough to do some pseudo-NUMA work with such CPUs. I'm not going to 8, either, but they did improve multicore scheduling, brought out fancy PowerPoint slides to show it, and others confirmed it, so I have to give the guys at MS that do more quality work some credit :).
 

Nec_V20

Senior member
May 7, 2013
404
0
0
Either this guy is so intelligent that I can't understand or I am dumb as hell or he just typed a bunch of random thoughts and glued them together. Single core processors are better than quads silly rabbit.

Going back nearly 20 years, what I am talking about had no application for people outside of server environments. However that has now changed but the knowledge seems to have gotten lost.

The post was meant for those whose multi-core processors are somewhat weaker in the knees.

You will get at least a 60% gaming performance boost from the CPU for free with absolutely no downside, no increased temperatures and no added instability by simply eliminating the Operating System interference with the execution of the game engine - what's not to like?

For instance the guy living upstairs from me has a laptop and games which would normally not run are now playable for him simply by applying the knowledge I imparted above.

It may be new to you but it is old hat to me, having been a computer techie on the bleeding edge for 30 years now.

BTW I only posted this here at the suggestion of a friend who found the info useful and he wrote to me:

That's a good tip. You should post it on Anandtech or Tomshardware or someplace where it could help more people.

Which I did and you can ignore it if you will.
 

VirtualLarry

No Lifer
Aug 25, 2001
56,587
10,225
126
You will get at least a 60% gaming performance boost from the CPU for free with absolutely no downside

LOL. 60%? What are you smoking? If it were that easy to increase gaming performance, don't you think that the game software itself would set affinity?

Edit: Can someone post UniEngine Heaven benchmarks, both with and without Affinity set?
 

SiliconWars

Platinum Member
Dec 29, 2012
2,346
0
0
Set Affinity should be well known to any gamer already, or at least those playing the newer MMO's.
 

taq8ojh

Golden Member
Mar 2, 2013
1,296
1
81
You will get at least a 60% gaming performance boost from the CPU for free with absolutely no downside
I wasn's sure until this point.
Either troll or very stupid person identified. Identified for sure though.

edit:
Of course,
Join Date: May 2013
Posts: 5

says it all.
 

Nec_V20

Senior member
May 7, 2013
404
0
0
Your i7 should also not benefit, except in a few rare cases. Windows 7 is new enough to do some pseudo-NUMA work with such CPUs. I'm not going to 8, either, but they did improve multicore scheduling, brought out fancy PowerPoint slides to show it, and others confirmed it, so I have to give the guys at MS that do more quality work some credit :).

You are correct, with the types of games I like to play (C&C, Warhammer 40K, X3, AOE etc.) my CPU has more than enough muscle to cope without resorting to either overclocking or what I mentioned in my original post.

However Windows still goes out of its way to kick you in the nuts if you are trying to run a game engine on a weaker CPU.

What I suggested avoids the vagaries of Non-Uniform Memory Access (NUMA). It assigns the game engine the exclusive use of one core (or more) and its concomitant L2 cache and builds a fence around that core with a big sign saying "Keep Out" to all other processes which would otherwise dirty the cache.

Win8 has the distinction of making Vista look good and will join the likes of WinME in the garbage can of history.

But seriously, are you trying to extol the virtue of Win8 by enunciating its native ability to commit "Death by Powerpoint" as a virtue? :D

I typically judge the ability of a presenter as being inversely proportional to his/her use of PowerPoint in a presentation.

If you want to effectively train techies (which I have done with regard to Enterprise Disaster-Recovery Tech-Support in my capacity as Senior German Engineer) I have found the following to be very efficacious:

1) Do it in a pub - people learn a lot more in a relaxed environment

2) Don't EVER use PowerPoint

3) Don't allow them to bring out any pens and paper to take notes (if someone is writing then they are not listening).

4) Don't tolerate tourists.

5) DO go into as much detail as it takes for the people to comprehend the broader scheme of the information one wishes to impart - even if that means that a one hour talk which starts at 6:30 PM goes on to chucking out time in the aforementioned pub (this was the rule rather than the exception and my boys and girls left not with eyes glazed over with boredom but rather not realising where the time had gone because they found it enjoyable). Remember, context is everything.

6) DO be willing to digress because someone brings up something they have questions about even though it is not overtly part of the original topic. Because things in computing are inter-related, if you are a good techie then you can get the person from that question seamlessly back into the topic by showing him/her how that relates.

For instance an Exchange problem when one is talking about AD by pointing out that Active Directory was first introduced in Exchange 5.5 and it was so much more scalable than what Microsoft was planning for NT5 (which became Win2K) that it abandoned its plans to expand upon SMB which they had been using in their server environment.

It's a kind of "Six Degrees of Kevin Bacon"
 

daveybrat

Elite Member
Super Moderator
Jan 31, 2000
5,819
1,034
126
You will get at least a 60% gaming performance boost from the CPU for free with absolutely no downside, no increased temperatures and no added instability by simply eliminating the Operating System interference with the execution of the game engine - what's not to like?

What's not to like? How about the fact that this thread rambles on and on with not a single shred of benchmarks to backup these ridiculous claims. 60%+ guaranteed? **Sigh**
 

Nec_V20

Senior member
May 7, 2013
404
0
0
I wasn's sure until this point.
Either troll or very stupid person identified. Identified for sure though.

edit:
Of course,
Join Date: May 2013
Posts: 5

says it all.

The certitude of ignorance may be a great advantage if one is wishing to seek employment at Fox News but not so much if one is wishing to criticise my original post.

For instance on my neighbour's somewhat older Acer laptop the game of Command and Conquer Zero Hour could be loaded, but every mouse click took seconds for the game to respond, even at the lowest graphic settings. By applying what I wrote in my original post the game became eminently playable with hardly a noticeable lag.

Not everyone has the cash to buy the latest and greatest, some have to make do with what they have. In the case of my neighbour he did not have the money to spend on any new equipment because he and his wife had just had a child.

If you can suggest any other way he could have achieved his goal other than the one I employed I would be very happy to hear it.

It would behove you to do a modicum of research before accusing and insulting someone who posted in good faith of being guilty of spam. Especially if that someone has been a computer techie for 30 years.
 
Last edited:

taq8ojh

Golden Member
Mar 2, 2013
1,296
1
81
Yeah and sniffing soap and drinking your own urine during full moon will cure cancer.
 

Nec_V20

Senior member
May 7, 2013
404
0
0
LOL. 60%? What are you smoking? If it were that easy to increase gaming performance, don't you think that the game software itself would set affinity?

Edit: Can someone post UniEngine Heaven benchmarks, both with and without Affinity set?

Actually no, there are other limiting factors for the scalability of performance.

For instance CPU performance will obviously not translate directly to GPU performance, or the ability of the much slower RAM to feed the L2 Cache.

The performance gain I mentioned is with regard to those systems which have a lower CPU performance and thus the OS shenanigans with regard to dirtying the cache and interrupting the game engine become a major impediment.

It was within this context, and I thought I was being very clear about this in my original post, that what I talked about applied in situations where a game engine was interminably slow and one wanted to make the game playable.

As I wrote to your colleague above:

For instance on my neighbour's somewhat older Acer laptop the game of Command and Conquer Zero Hour could be loaded, but every mouse click took seconds for the game to respond, even at the lowest graphic settings. By applying what I wrote in my original post the game became eminently playable with hardly a noticeable lag.

Not everyone has the cash to buy the latest and greatest, some have to make do with what they have. In the case of my neighbour he did not have the money to spend on any new equipment because he and his wife had just had a child.


If you set out to mock someone make sure that you are doing so from a position of knowledge, otherwise you just end up making a fool of yourself.
 

taq8ojh

Golden Member
Mar 2, 2013
1,296
1
81
Shut him down someone, please. It's not amusing anymore. He seems to actually believe it.
 

Nec_V20

Senior member
May 7, 2013
404
0
0
What's not to like? How about the fact that this thread rambles on and on with not a single shred of benchmarks to backup these ridiculous claims. 60%+ guaranteed? **Sigh**

Have you any concept of how much performance the Windows OS soaks up with regard to SMP computing?

No of course you don't.

If you have enough processor overkill then of course you can ignore the significant overhead the Operating System imposes on you (as in the case of my i7-990x).

You may have read my original post but you most certainly did not even remotely comprehend it.

That is your problem, not mine.
 

mrle

Member
Mar 27, 2009
33
0
0
It assigns the game engine the exclusive use of one core (or more) and its concomitant L2 cache and builds a fence around that core with a big sign saying "Keep Out" to all other processes which would otherwise dirty the cache.

I think you got it wrong: it builds a fence all right, but the sign is on the other side and says "Keep In" to your process. The affinity is not exclusive to other processes, any one of them can still use that core, dirtying it and whatnot if windows scheduler assigns it there for whatever reason.
 

Nec_V20

Senior member
May 7, 2013
404
0
0
He who asserts must prove. Lets see some performance data in games you have done this with showing the incredible improvements.

You would be correct if I were trying to espouse the existence of God (BTW why does God hate amputees with regard to miracles?) however if you had understood my original post then you would see that what I was discussing was a way of avoiding the significant OS overhead imposed on a gaming engine run on a low performance multi-core CPU.

In that scenario - and context - a 60+% performance gain is actually low balling the estimate.

Attached for instance is a benchmark for one of my drives (and BTW NTFS compression is enabled on the drive):

DriveW.jpg


Depending on what assumptions you make that benchmark would appear to be impressive however your assumptions would probably be misleading (but it would make your SSD look a bit sad).

All the computers I personally have run on CPUs which have too much performance to create the benchmark you suggest - any benchmarks would run into other limiting factors such as GPU performance and RAM performance.
My_Disk.png.html
 
Last edited:

Nec_V20

Senior member
May 7, 2013
404
0
0
I think you got it wrong: it builds a fence all right, but the sign is on the other side and says "Keep In" to your process. The affinity is not exclusive to other processes, any one of them can still use that core, dirtying it and whatnot if windows scheduler assigns it there for whatever reason.

Read my original post again where I stated:

So what you do is boot up your system and when it is up and running, start CPU-Control and assign all of the running processes to CPU 0. Now some games take well to multi processors and some games not so much. You will have to do a bit of research on the game engine to determine that.

If you have found that the game can only run on one processor then load the game and allocate it to one of the remaining cores.

Sorry about the confusion however I was discussing my answer to Cerb within the context of my original post which makes it quite clear what I mean.
 
Status
Not open for further replies.