Jump to content
  • 0

CPU affinity - two different approaches


Vond

Question

So, there are two different approaches to improving performance by changing CPU affinity from what I've seen. One is using Skyrim Extended Launcher to 'lock' Skyrim into using 2 specific cores (this is obviously only interesting for people with 4+ core CPUs), as the game only makes use of two anyway but what happens normally is that Windows spreads the load between all cores which means that CPU frequencies go up and down like crazy. Using SEL changes this as it will use those 2 cores fully improving stability and performance.

The other approach is to add some settings to your Skyrim.ini, assigning specific jobs to the different CPU cores. Following this guide assigns 2 cores to rendering, and 2 cores to AI and such.

 

The .ini additions (for 4 cores):

 

Skyrim.ini:

 

[General]

iNumHWThreads=4

iHWThread6=3

iHWThread5=3

iHWThread4=3

iHWThread3=2

iHWThread2=2

iHWThread1=2

iAIThread2HWThread=3

iAIThread1HWThread=2

iRenderingThread2HWThread=1

iRenderingThread1HWThread=0

 

bMultiThreadMovement=1

bUseThreadedParticleSystem=1

bUseThreadedBlood=1

bUseThreadedMorpher=1

bUseThreadedTempEffects=1

bUseThreadedParticleSystem=1

bUseThreadedTextures=1

bUseThreadedMeshes=1

bUseThreadedLOD=1

bUseThreadedAI=1

bUseHardDriveCache=0

 

[HAVOK]

iNumThreads=2

 

 

Now, you can't use both of these together, as doing one of these changes nullifies the other. Has anyone played around with these and can supply some insight on which approach seems to be working best for you? I will try out the .ini changes for starters myself, but actually comparing the two probably takes quite a lot of testing and thus if someone has already done so, sharing it would be great!

Link to comment
Share on other sites

  • Answers 78
  • Created
  • Last Reply

Top Posters For This Question

Recommended Posts

  • 0

Using Skyrim Performance Monitor gives me an average use of 45 threads. This is after many run throughs, so its not just from a few minutes of running around. Is this normal? A couple normally means 3-5, but a "couple" is also context dependent. Furthermore, using +fullproc or the ini tweaks did nothing to change this number, still averages at 45 threads. However, i only have a fuzzy understanding of threading in multiple core cpus, so im aware that 45 threads reported for skyrim might not mean much.

Link to comment
Share on other sites

  • 0

I'm no expert - I just understand a few concepts that lead me to be sceptical of some of these claims.

 

Hardware threads are essentially the number of processor cores available (plus virtual cores in the case of Hyper threading). That Intel post is suggesting that if your software is designed to run multiple threads, and is likely to run so many as to make use of virtual cores, then it may be better to constrain it to running only as many threads as you have physical cores. When running intensive processes, it is sometimes better to allow multiple software threads to take their turns on the physical cores, because the virtualisation is often even less efficient.

 

Most games do not make very good use of multithreading, because of simultaneity; it is very difficult to make sure that all the disparate threads complete their tasks synchronously, to be useful for a realtime application like a game engine. Devs have been, and will be, struggling with this for years. This is why Skyrim does not appear to get much of boost from extra cores in benchmarks. But attempting to constrain the use of available cores is another matter entirely, and IMHO, we'd need a better explanation and a lot more evidence to recommend it.

 

This is a line from the tool's description page,

"The fact that Skyrim can only use 2 CPU cores, caused Windows to spread the load to all of my CPU Cores."

 

This just doesn't make much sense to me, and adds to my doubts.

 

EDIT:

 

The thread that Z posted may offer a clue. When using 'Turbo' auto-overclocking, the fewer cores in use, the higher the possible overclock. Because Skyrim is likely only using a couple of threads, the clock speed boost would be well worth the price of disabling the under-utilised cores. That would at least make some sense, and that's where I'd focus the testing

Link to comment
Share on other sites

  • 0

I haven't done any of these tweaks, but decided to take a closer look at what these threads are actually doing. I will take a sample with longer play time, but within about 5 minutes, I saw around 16 threads. I'll need to dig deeper to know if any of them were closed, but it appears that they were as new threads appeared over time and the older ones didn't. All of the threads as sampled were accessing resources, be it EMS's, looking for INI files, reading the registry, accessing the pagefile, etc. I believe that tool reporting 45 threads may be showing all of the threads it has seen during the entire run time and is not accounting for threads that were closed.

Link to comment
Share on other sites

  • 0

Tried the Extended Launcher today, as I'm using Turbo rather than real OCing of my CPU, so figured I'd give it a go. Running Core Temps on the other monitor to see how cores were loading etc I noticed the 2 I assigned stayed very busy, as expected, when compared to using the .ini tweaks from first post. However, I also noticed the 2 cores got hot very fast. Normally my load temp is approx 60-63C. Using only those 2 cores, they went up to 80+C very quickly.

 

As a sidenote as I mentioned I'm using turbo and could also notice that the cores were staying on the "max" frequency that turbo goes to whilst playing so I'm sure the performance would've been a bit better if I had actually dared to go on playing after noticing cores got warm so damn quick. :) Now, I've never done OCing etc so I'm not even sure if ~80-85C during load is bad but since it differed so much I got worried. Perhaps I should just try to figure out how to do some minor proper OCing instead. Only ever OCd GPUs in the past, for some reason.

Link to comment
Share on other sites

  • 0

80C-85 shoudlnt be an issue, i would get worried if you start hitting 100C. Just to clarify, you have a quad core and you force skyrim to only use 2?

 

 

Yep, guess I should've mentioned that. :) I forced Skyrim to use core 1 and 3 for whatever reason
Link to comment
Share on other sites

  • 0

I recall having a turbo option on a motherboard at one time, but never used it. The biggest problem that you'll run into when motherboards attempt to automate OC (which I'm not sure if that is what this Turbo mode is doing), is that they pump the VCORE up too high which will shoot your temps up along with it.

Link to comment
Share on other sites

  • 0

Well, I have a cpu usage of about 8% (i7-2600k Turbo @4.4GHz) with peaks when loading a game up to 23% and down to 2 % whilst playing...

is that normal? o_O

I thought skyrim would be at least somewhat cpu-intensive. iirc my VRAM is always full, and my graphic cards don't get hotter than 65°C...

it's just weird. I'ld expect a lot more gpu load, cpu usage and sorts when playing skyrim.... is something wrong with my setup?

Link to comment
Share on other sites

  • 0

What are you using to watch load? There is no way CPU utilization will be 2% while playing the game. It sounds more like you are alt-tabbing to the desktop and looking in Windows Task Manager, or some other tool, which will not show you the full utilization since the game then becomes a background process.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

By using this site, you agree to our Guidelines, Privacy Policy, and Terms of Use.