Sign in to follow this  
newtie

Process Lasso and Affinity Mask

Recommended Posts

Hi all-

 

I've read about Process Lasso and what it can do in a few threads and downloaded it last night.

 

I see it has the capability to set affinity masks.

 

Can this be used to change AMs instead of the JOBSCHEDULER cfg entry in P3D? Looks like a quick and easy way to do this but was wondering if any caveats from others might be worth noting before I proceed.

 

Cheers,

Mark

 

Share this post


Link to post
Help AVSIM continue to serve you!
Please donate today!

Hi all-

 

I've read about Process Lasso and what it can do in a few threads and downloaded it last night.

 

I see it has the capability to set affinity masks.

 

Can this be used to change AMs instead of the JOBSCHEDULER cfg entry in P3D? Looks like a quick and easy way to do this but was wondering if any caveats from others might be worth noting before I proceed.

 

Cheers,

Mark

 

Yes it can be used to set AM. At the moment  I testing using the option 'avoid non-phisical cores' for  prepare3d.exe. I suppose its switching off HT, helpful while testing and your switching between HT on and off and saves going to the BIOS and restarting the computer.  

running FTX pnw with ASN, soft clouds and running quite smooth with no blurries.

a further option is to run p3d in game mode, there are notes on it in the help docs.

 

bob

Share this post


Link to post

I didn't know that it manages HT as well. 

 

Interesting.

 

Thanks,

Mark

Share this post


Link to post

Purchased last night, I have an Intel 6700 4 cores and 4 logical 0 - 7 still not sure what to set. Hope the experts can expand on this thread.

Share this post


Link to post

Do not use Process Lasso to set P3D's affinity. Instead set affinity as usual in the config file. Then use lasso to move addons and external apps to cores (or logical processors - LPs) not used by P3D.

 

Setting the AM of P3D using Lasso or any other external program will inevitably screw up the internal threading process. Hence its better to use Lasso to move other addons and programs off to cores not used by P3D.

 

E.g. You have a 4 core CPU with 8 logical processors (Hyperthreading). Use an AM of 116 (01110100) for P3D (set in config as usual) then move addons like ASN and EZCA to LPs 0-1.

 

For me personally I move ASN, GSX, EZCA to  LPs 0-1 and then chrome and some other background apps to LPs 0-1;4-7. That way you ensure that the main thread used by P3D which is LP 2 is as empty as can be.

 

The one thing of P3D you can change in Lasso for convenience is the CPU Priority. Set to High or Realtime and you don't have to do this via Task Manager before every session anymore.

 

Edit : One more thing you can do is set P3D as a game in Lasso. Then whenever you launch it, it will automatically change your power plan to the high performance one. Unless you already run a high performance power plan in Windows all the time.

Share this post


Link to post

I already set P3d affinity in lasso, is there a way to reset it back to defaults in lasso?

Share this post


Link to post

I already set P3d affinity in lasso, is there a way to reset it back to defaults in lasso?

 

Right click Prepar3d.exe -> Select CPU Affinity -> Always then press None.

 

If you do not see a preconfigured AM for Prepar3d.exe under the Rules section then you're good to go.

Share this post


Link to post

 

 


Setting the AM of P3D using Lasso or any other external program will inevitably screw up the internal threading process.

 

Where did you read this?

Share this post


Link to post

I wouldn't know where he might have read it, but when I think it thru it makes sense, for example... P3D itself sets an AM after simple determination of what your processor is, but if you set the AM thru Process Lasso, then P3D sets the AM, what is the ramification of that combined set of actions?

 

You got me, I don't know but like I said, makes sense to me, to not tie a knot.

Share this post


Link to post

Where did you read this?

This info was actually on many other threads in posts made by Steve and other experts alike. I did not think much of it either until I tried it myself with Task Manager and noticed how the loads shifted within the threads. Something that should not happen if you set an internal Affinity Mask within P3D and leave it as it be.

 

Try it and see for yourself. The actual consequences of that happening are not very well documented but it will definitely cause unnecessary issues with rendering and data loading. E.g. Blurries, scenery popping or slow texture loading etc.

 

Why risk it? I'd rather not add yet another cause for concern or problem to fix in P3D.

 

Edit : I should add it's not just P3D but many other apps and programs that don't like to be told what to do in relation to Affinity Masks. Certain programs will not even run and crash when you try to set an external affinity mask setting to them. So far all the addons I have moved using Lasso seem to be doing fine however I once had a system lock up before when I tried to Lasso my Antivirus program.

 

I wouldn't know where he might have read it, but when I think it thru it makes sense, for example... P3D itself sets an AM after simple determination of what your processor is, but if you set the AM thru Process Lasso, then P3D sets the AM, what is the ramification of that combined set of actions?

You got me, I don't know but like I said, makes sense to me, to not tie a knot.

You are right. However it's the movement of the existing jobs on the LPs chosen by P3D that's the issue. Because Lasso forces the jobs off the LPs and moves them onto the new one selected by Lasso they are jumbled up.

 

The P3D/FSX engine has a certain order : 1st thread is the "main" thread, 2nd thread is the "fiber" thread and all that follow (depending on your am) are scenery rendering threads. When you lasso it this order is lost and the jobs just end up all over the place even though you see the correct LPs being used.

 

Sorry for the long post.

Share this post


Link to post

So far all the addons I have moved using Lasso seem to be doing fine however I once had a system lock up before when I tried to Lasso my Antivirus program.

 

Yes, don't try to lasso your antivirus software - it will cause problems. I believe this is mentioned in the developer's help document where it states that antivirus products are exempt from any restraint by PL.

 

Setting an Affinity Mask for Prepar3D.exe in the configuration file is definitely the way to go. Do not use Process Lasso for this. You will only hinder performance. Steve Waite has discussed this matter on several occasions in other threads. It has been tested thoroughly and, believe me, he knows what he is doing.

 

Mike

Share this post


Link to post

Yes, don't try to lasso your antivirus software - it will cause problems. I believe this is mentioned in the developer's help document where it states that antivirus products are exempt from any restraint by PL.

 

Setting an Affinity Mask for Prepar3D.exe in the configuration file is definitely the way to go. Do not use Process Lasso for this. You will only hinder performance. Steve Waite has discussed this matter on several occasions in other threads. It has been tested thoroughly and, believe me, he knows what he is doing.

 

Mike

egads, is there a guide to tweaking P3D?  I am going in circles: I  had gone through youtube videos and some threads here that are quite long, don't know how I missed this one.

Share this post


Link to post

Followed TheBoom instructions my sim is running very smooth! I have Ezdox, GSX and ASN on cores 0 - 1 left virus software default cores (Avast) not sure what else to lasso.

 

Running sim at 120hz (default is 144) and half vsync and frames lock to 58 in NI I tried 30 but was not as smooth.

Share this post


Link to post

How is the graph in the upper right hand corner of Process Lasso that represents all cores read?

 

Is it left to right or right to left, that is, are the two graphs on the left core 0 and 1, or 6 and 7?

 

Thanks,

Mark

 

https://drive.google.com/file/d/0B8KzWfFjsxGsWktZbkVGWnlkdTg/view?usp=sharing

Yes I read it as core 0 on left going thro' to core 7, ie for a 4 core with HT on. You need to highlight the Prepar3d app and then you will see the activity on the each core depending how/ if you have set an AM.

 

 

Bob

bob

Share this post


Link to post

How is the graph in the upper right hand corner of Process Lasso that represents all cores read?

 

Is it left to right or right to left, that is, are the two graphs on the left core 0 and 1, or 6 and 7?

 

Thanks,

Mark

 

https://drive.google.com/file/d/0B8KzWfFjsxGsWktZbkVGWnlkdTg/view?usp=sharing

Left to right is 0-7.

 

Followed TheBoom instructions my sim is running very smooth! I have Ezdox, GSX and ASN on cores 0 - 1 left virus software default cores (Avast) not sure what else to lasso.

Running sim at 120hz (default is 144) and half vsync and frames lock to 58 in NI I tried 30 but was not as smooth.

Glad it worked. Yeah 60 frames will always be smoother than 30 unless you lock in a refresh rate of 30hz. If you can get 60 fps or close to that most of the time then stick with 60 fps lock and 60hz refresh.

Share this post


Link to post

Yeah 60 frames will always be smoother than 30 unless you lock in a refresh rate of 30hz. If you can get 60 fps or close to that most of the time then stick with 60 fps lock and 60hz refresh.

Unless I misunderstand your point, this is not generally true. FPS by itself has no bearing on smoothness. I have systems perfectly smooth at 20fps and choppy at 30 and vice versa.

 

Now if you are relating to vsync or 1/2 refresh rate, etc - then you are correct.

 

Vic

Share this post


Link to post

If I lock my frames on 20 it's a complete slide show using nvidia 980ti 6700 Intel processor, maybe there is another step I am missing. Native monitor is 144 GSYNC monitor.

Share this post


Link to post

Unless I misunderstand your point, this is not generally true. FPS by itself has no bearing on smoothness. I have systems perfectly smooth at 20fps and choppy at 30 and vice versa.Now if you are relating to vsync or 1/2 refresh rate, etc - then you are correct.Vic

I assume he is using vsync/gsync? If he's not then you're right my statement was invalid.

Share this post


Link to post

If I lock my frames on 20 it's a complete slide show using nvidia 980ti 6700 Intel processor, maybe there is another step I am missing. Native monitor is 144 GSYNC monitor.

 

You shouldn't need to be that low with your system.

Also you should be using an even multiple of 144 ie 24 or 29 or 36 etc.

 

gb.

Share this post


Link to post

Hmm... even multiple, so lock the frames at either 24, 29 or 36 and this should give me better performance ?

Share this post


Link to post

I don't know if this will benefit in an indirect way, but I usually set a whole lot of processes with PL to default Low priority instead of default Normal priority. 

 

Things like the print spooler, tray items like Nvidia Control Panel, Instant Messengers, text editors like NotePad/Wordpad, HP printer services and tools (i.e. crudware), Apple and Java and Google update agents, CoreTemp, RoxioBurnLauncher, etc.  You can go through your whole process list and find a lot of junk that can be lowered to just running at a lower priority and experience no ill effects.  I use to set them to Idle Priority... but now I have scads of cores, so I just set them to Low.   

But if there are things you don't want running when all your cores are pegged, like update agents, set them to Idle.  Its very rare any core ever has any Idle at all, so they will still run, but just be queried if they need time slices a lot less often...  when most of these things (like the print spooler) will answer back anyway... "no, I'm not doing anything at all at this moment, but thanks for asking". 

 

Why ask the sleeping printspooler 100 times a second at Normal Priority if it needs CPU cycles, when 5 times a second at Idle Priority would already be over kill...  while you deep inside your flight sim sensitive to frame rates.

Not really how priorities and scheduling works, but kind of a lay man's explanation...

Also, i make it a point on a new machine to disable a lot of Windows Services (type services.msc and set them to Manual)  that are on by default.  Things like Windows Search Indexer, SuperFetch, and Tablet Services, for example... on a desktop machine.  I disable or set to Manual a lot of other things, crud like the Windows software ipsec Firewall (i have a hardware Firewall), but be careful, you need to know what does what...  and is used by what else, or you'll be disabling some functionality you may actually use if you do some advanced IT type stuff.  There's a lot of stuff though, a lot of Home users, just do not need at all as services...  that are on by default...

Share this post


Link to post

Hmm... even multiple, so lock the frames at either 24, 29 or 36 and this should give me better performance ?

 

Well not better performance but at least there should be less screen tearing as you pan around.

As for smoother, you really just have to try them and see.

 

gb.

Share this post


Link to post

Thanks for all the useful info regarding Project Lasso - very helpful!

 

Are you guys running P3D with "classify as a game" ticked in the Lasso options?

Share this post


Link to post

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