Sign in to follow this  
0Artur0

Unparking CPU cores

Recommended Posts

Can somebody please explain what is this and does it really help? I found this suggestion in this guide: http://aviationwb.com/p3dset.html

Some people are claiming that their stutters are gone when doing this thing but I'm a bit cautious since I have no idea what this "Unpark CPU cores" does. Any other side effects of using this unpark thing?

Share this post


Link to post
Share on other sites
Help AVSIM continue to serve you!
Please donate today!

Hello all,

 

I am also curious.  Does this apply to FS9.1 as well?  I already have smooth frames at 30FPS(limited) but if this can make things easier for my sim so much the better.

 

At the very least, this is interesting and I am wondering if it has any impact on the 64bit sims coming on the horizon

 

Regards

 

Tony

Share this post


Link to post
Share on other sites

Interesting his advice is to also disable HT. Relevant to our discussions in the Kaby Lake thread.

Share this post


Link to post
Share on other sites

I use it all the time in games like Battlefield where with i7s it can add 10-15FPS.

In FSX:SE it has no effect what so ever for me.

 

The idea behind it is to utilize full CPU at all times for faster access in multicore applications.

Simple tool with a on/off switch and works like a charm :)

Share this post


Link to post
Share on other sites

If they are unparked already how can unparking them help? Parking them reduces the available CPU bandwidth so leave them unparked. :fool:

 

If you get a highter temperature with HT enabled, that's because it's doing more work, maybe not increasing the fps by much but it does if tests on a professional test harness are properly carried out. The gain with HT enable is to background tasks, disk, networking, security, If you can't turn on HT because it gets hot you're too far up the heat curve. :fool:

Share this post


Link to post
Share on other sites

Hello all,

 

I am also curious.  Does this apply to FS9.1 as well?  I already have smooth frames at 30FPS(limited) but if this can make things easier for my sim so much the better.

 

At the very least, this is interesting and I am wondering if it has any impact on the 64bit sims coming on the horizon

 

Regards

 

Tony

Interresting!

I tried it at once, and it looks better. More fluid with some frames added.

I see a temp increase, but not much to be afraid of.

More stable fps.

 

But need to do a full flight to check it better. Could be placebo!

Share this post


Link to post
Share on other sites

Put it this way; these FSX based simulators have dozens of concurrent processes all running in the background, some take many seconds to complete irrespective of Frame Rate. If we increase the frequency of the CPU we can increase slightly the available FPS. If we decrease CPU bandwidth we don't affect the FPS much but those background processes finish LATER. You need to be able to account for the trade off of increased frequency for reduced CPU bandwidth. In tests it's better to go for bandwidth, not a few FPS. Other programs and games often work in a different manner to the FSX type of programs and how a different trend when adjusting the CPU performance characteristics.

 

With HT enabled beware of apps and processes that make double the use of the CPU because they see double the core count unaware these are actually pairs of HT cores.

 

We can simplify (very simply) the CPU core into two parts the data unit and the compute unit. An HT core has two data units and one compute unit shared between them. If you look at a four core with HT enabled and an 8 core with HT disabled, the main difference is the four core only has four compute units shared between the eight data units, the eight core has eight compute units (would still work better with its expensive HT mode enabled).



Interresting!
I tried it at once, and it looks better. More fluid with some frames added.
I see a temp increase, but not much to be afraid of.
More stable fps.
 
But need to do a full flight to check it better. Could be placebo!


No not a placebo! Parked cores reduce the CPU throughput so leave them unparked.

FSX:SE works out what to do with HT enabled but P3D will utilise each logical processor as if it were a real core so it is recommended to use an affinity mask for P3D to keep the main two processes on two real cores otherwise quite obviously we get a reduction in performance. It's one of those things that's a little too hard to grasp without a lot of thought.

Also some other processes on the PC as I said just now may make more use of the CPU when HT is enabled and so reduce the available bandwidth to the sim, this is not a reduction in CPU performance it is an undesired increase in use.

The easy thing to do is disable HT. Like driving slower because of poor brakes.

Share this post


Link to post
Share on other sites

Steve, I was testing on FS9.

Less fluctuations in fps and more smooth is what I saw.

Share this post


Link to post
Share on other sites

Steve, I was testing on FS9.

Less fluctuations in fps and more smooth is what I saw.

What did you do? Unpark cores? Leave them unparked.

Share this post


Link to post
Share on other sites

Yes, thats the thread about, unparking them.

Two where parked, unparked them and rebooted.

 

Does this from now on always be unparked ? or do I need to repeat this all the time ?

Share this post


Link to post
Share on other sites

 

 


FSX:SE works out what to do with HT enabled but P3D will utilise each logical processor as if it were a real core

 

Is there a citation on this? I believe the kernel is doing this.

 

All the AffinityMask setting does is call a Windows API call directly with the bitmap value to give the kernel scheduler instructions on what cores to use. Any modern Windows kernel should already be aware of the differences between cores and schedule accordingly. IIRC there was a kernel update years back when the AMD K10s came out to handle their interesting core model.

 

Cheers!

Share this post


Link to post
Share on other sites

I would have said they are unparked in default setup, you would have to park them to unpark them. Don't download any old software to mess around be sure it's malware free.

Is there a citation on this? I believe the kernel is doing this.

 

All the AffinityMask setting does is call a Windows API call directly with the bitmap value to give the kernel scheduler instructions on what cores to use. Any modern Windows kernel should already be aware of the differences between cores and schedule accordingly. IIRC there was a kernel update years back when the AMD K10s came out to handle their interesting core model.

 

Cheers!

 

Not true Luke, understanding how to utilise Windows threading and multicore is a commercial asset. I'll discuss some of this with you by PM if you like.

Share this post


Link to post
Share on other sites

 

 


Not true Luke, understanding how to utilise Windows threading and multicore is a commercial asset. I'll discuss some of this with you by PM if you like.

 

I'd prefer to have a public conversation. That way those who follow us can learn.

 

Here is the API call I was referring to: https://msdn.microsoft.com/en-us/library/windows/desktop/ms686223(v=vs.85).aspx Note that the format of the parameter is exactly the same as the value you put in the FSX/P3D config.

 

Where am I mistaken? I'm genuinely curious.

Share this post


Link to post
Share on other sites

I'd prefer to have a public conversation. That way those who follow us can learn.

 

Here is the API call I was referring to: https://msdn.microsoft.com/en-us/library/windows/desktop/ms686223(v=vs.85).aspx Note that the format of the parameter is exactly the same as the value you put in the FSX/P3D config.

 

Where am I mistaken? I'm genuinely curious.

 

That's the standard API call to *reconfigure* the app across the cores.

 

So you start FSX and then what? At some stage as it starts it reads the fsx.cfg and finds a value in the AffinityMask item. So then what does it do? Already it has started under the authority of the jobsheduler with the default AM=0. Now what?

 

(To be honest I'm surprised you think you need to explain that API to me.)

Share this post


Link to post
Share on other sites

 

 


That's the standard API call to *reconfigure* the app across the cores.

 

Exactly.

 

So you start FSX and then what? At some stage as it starts it reads the fsx.cfg and finds a value in the AffinityMask item. So then what does it do? Already it has started under the authority of the jobsheduler with the default AM=0. Now what?

 

It calls SetProcessAffinityMask() with the value from the config and tells the kernel what cores it wants to be scheduled on. What do you think it's doing? Do you think it's calling SetThreadAffinityMask()?

 

Cheers!

Share this post


Link to post
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
Sign in to follow this