Jump to content

DCS MT: ***Improve Frame Times Consistently*** with Process Lasso


Recommended Posts

Posted (edited)
55 minutes ago, Flextremes said:

Cool! Ensure DCS in VR mode is started first before you select all in Process Lasso and assign to other cores. Otherwise you will miss processes that are responsible for VR and they will try to use the same cores as DCS.exe.

 

image.png

Besides causing the rest of my PC to slow to a crawl and stutter, my frametimes did not go down after setting all process except DCS to run on E-cores only. The graph shown above is setting DCS from P-cores only, back to P-cores + E-cores. The frametimes didn't really go up or down, but as you can see I was seeing many more spikes when set to only P-cores.

From my results, I can't recommend setting ALL OTHER processes to only E-cores, as it'll cause a lot of lag and QoL issues.

Edited by July
Posted (edited)
5 minutes ago, July said:

image.png

Besides causing the rest of my PC to slow to a crawl and stutter, my frametimes did not go down after setting all process except DCS to run on E-cores only. The graph shown above is setting DCS from P-cores only, back to P-cores + E-cores. The frametimes didn't really go up, but as you can see I was seeing many more spikes when set to only P-cores.

From my results, I can't recommend setting ALL OTHER processes to only E-cores, as it'll cause a lot of lag and QoL issues.

Thanks for the experiment, it really looks like this is not recommended for Intel. Other intel users may thank you.

Edited by Flextremes
Posted
8 minutes ago, Flextremes said:

Thanks for the experiment, it really looks like this is not recommended for Intel. Other intel users may thank you.

 

Curious to see what results other users are getting, AMD included.

  • Like 1
  • 3 months later...
Posted

Not on Win11 and a Intel CPU with P and E-cores. Learned it the hard way. Win11 seems to have the much better CPU scheduling ability.

  • Like 3

i9 13900K @5.5GHz, Z790 Gigabyte Aorus Master, RTX4090 Waterforce, 64 GB DDR5 @5600, PSVR2, Pico 4 Ultra, HOTAS & Rudder: all Virpil with Rhino FFB base made by VPforce, DCS: all modules

  • 3 months later...
Posted
On 3/11/2023 at 1:22 PM, Flextremes said:

My system: Highly optimized Win 10, AMD 5800x3D, 4090, Reverb G2, Native OpenXR, almost maxed out DCS settings with FSR upscaled render resolution 3600x3600.

Scene below is from F18 launch on Carrier in Persian Gulf Mission.

Without Process Lasso:
image.png

With Process Lasso:
image.png

'rdr CPU' seems responsible for VR frame rendering and is directly affected by scene complexity (like objects, clouds, etc..). A lower 'rdr CPU' will result in a lower 'app GPU'. DCS MT highly optimized 'app CPU', now 'rdr CPU' can have a relatively higher impact. You really want both CPU frame times combined to remain below 20ms to not start rendering at 30 fps and create mild stutters when switching between 45 and 30 fps.

By dedicating cores in Process Lasso (forcing affinity) for DCS.exe and all other processes separately, you are also separating 'app CPU' and 'rdr CPU' execution. 

In short:

STEP 1: First start DCS in VR. Select All Processes in Process lasso: Set affinity, Always, and select the last or first 4 threads of your if you have an 8 core/16 thread or more CPU. If you have fewer cores, maybe assign only 2 threads. (if applicable, only select Intel Performance Cores or cores on the AMD X3D CCD)

image.png

STEP 2: Then select DCS.exe, Set affinity, Always, and select the other threads (invert selection) (if applicable, only select Intel Performance Cores or cores on the AMD X3D CCD):
image.png

 

⚠️⚠️ IMPORTANT!!!! ⚠️⚠️

  • Do not skip STEP 1, It is crucial to separate DCS.exe from other processes, only setting Affinity for DCS does not work. All other processes should be running on different cores than DCS.exe!
  • This is tested only with OpenXR. I have not tested this with steamVR.
  • Intel CPU users below report different results.  So try and make sure you test.
  • Do not worry about excluding system processes, when setting affinity: if it is not possible to change affinity, nothing happens. 
  • I also forced 'Always - high priority' on DCS.exe.
  • Enable performance mode in Process Lasso.
  • I always manually start Process Lasso before I start DCS: I do not want Process Lasso to be enabled during startup and interfere with normal usage. This config is only recommended with VR.
  • This also works with other Simulators and games in VR.
  • Disable 'Game Bar' - as it easily conflicts with Process Lasso settings.
  • Always test and validate these settings yourselves.

Easy way to validate frame times yourself:

Choose a stable, non-moving, scene (while being parked) in the external view (with loads of objects) that has high but relatively stable 'rdr CPU' frame times. Screenshot before and after enabling Process Lasso, making sure you have the exact same view angle in VR.

Make it easy by enabling screenshots in the OpenXR toolkit companion app, enable the Advanced OpenXR FPS counter, and select CTRL + F12 to create a screenshot create before and after with the exact same view in VR. Wait for frame times to stabilize before comparing/screenshotting 'rdr CPU' and 'app GPU' values.

 

I've tired that, and does give me a few extra fps. But now everything else is like sirup. I even deleted process lasso and still everything feels slow and bad on the pix, even just moving the mouse 

i7 13700k @5.2ghz, GTX 3090, 64Gig ram 4800mhz DDR5, M2 drive.

  • 3 weeks later...
Posted
On 3/11/2023 at 4:22 AM, Flextremes said:

My system: Highly optimized Win 10, AMD 5800x3D, 4090, Reverb G2, Native OpenXR, almost maxed out DCS settings with FSR upscaled render resolution 3600x3600.

Scene below is from F18 launch on Carrier in Persian Gulf Mission.

Without Process Lasso:
image.png

With Process Lasso:
image.png

'rdr CPU' seems responsible for VR frame rendering and is directly affected by scene complexity (like objects, clouds, etc..). A lower 'rdr CPU' will result in a lower 'app GPU'. DCS MT highly optimized 'app CPU', now 'rdr CPU' can have a relatively higher impact. You really want both CPU frame times combined to remain below 20ms to not start rendering at 30 fps and create mild stutters when switching between 45 and 30 fps.

By dedicating cores in Process Lasso (forcing affinity) for DCS.exe and all other processes separately, you are also separating 'app CPU' and 'rdr CPU' execution. 

In short:

STEP 1: First start DCS in VR. Select All Processes in Process lasso: Set affinity, Always, and select the last or first 4 threads of your if you have an 8 core/16 thread or more CPU. If you have fewer cores, maybe assign only 2 threads. (if applicable, only select Intel Performance Cores or cores on the AMD X3D CCD)

image.png

STEP 2: Then select DCS.exe, Set affinity, Always, and select the other threads (invert selection) (if applicable, only select Intel Performance Cores or cores on the AMD X3D CCD):
image.png

 

⚠️⚠️ IMPORTANT!!!! ⚠️⚠️

  • Do not skip STEP 1, It is crucial to separate DCS.exe from other processes, only setting Affinity for DCS does not work. All other processes should be running on different cores than DCS.exe!
  • This is tested only with OpenXR. I have not tested this with steamVR.
  • Intel CPU users below report different results.  So try and make sure you test.
  • Do not worry about excluding system processes, when setting affinity: if it is not possible to change affinity, nothing happens. 
  • I also forced 'Always - high priority' on DCS.exe.
  • Enable performance mode in Process Lasso.
  • I always manually start Process Lasso before I start DCS: I do not want Process Lasso to be enabled during startup and interfere with normal usage. This config is only recommended with VR.
  • This also works with other Simulators and games in VR.
  • Disable 'Game Bar' - as it easily conflicts with Process Lasso settings.
  • Always test and validate these settings yourselves.

Easy way to validate frame times yourself:

Choose a stable, non-moving, scene (while being parked) in the external view (with loads of objects) that has high but relatively stable 'rdr CPU' frame times. Screenshot before and after enabling Process Lasso, making sure you have the exact same view angle in VR.

Make it easy by enabling screenshots in the OpenXR toolkit companion app, enable the Advanced OpenXR FPS counter, and select CTRL + F12 to create a screenshot create before and after with the exact same view in VR. Wait for frame times to stabilize before comparing/screenshotting 'rdr CPU' and 'app GPU' values.

 

How do I set affinity?

I dont see an option unless I click on a program, I can set affinity to DCS, but cannot find how to set affinity to the All processes tab

  • 2 months later...
Posted
3 hours ago, beacon said:

how do you set in w11 the affinity for all procesess? by not using Lasso how do you do that?

In widows 10 not sure about 11 >open task manger click details right click the exe look for option.

Posted

You might want to try HAGS ON, Low Latency Mode = Ultra in NCP, Max FPS 45 (YMMV).  I have the G2 as well, and I get very steady frames with my settings.

I tried process affinity as well.  The only config that makes sense to me is to keep DCS off CPU 0, and let DCS have CPU 1-7 (or how many you have).  This allows Windows to do its work on CPU 0, and the sim has the rest.  However, I didn't find this to make much difference.  I run vanilla DCS without OpenXR Toolkit. 

Screen_240206_075751.jpg

  • 4 weeks later...
Posted

I wonder how things perform if one would assign (a) specific core(s)s to the VR engine as well

Intel I5 13600k / AsRock Z790 Steel Legend / MSI  4080s 16G Gaming X Slim / Kingston Fury DDR5 5600 64Gb / Adata 960 Max / HP Reverb G2 v2

Virpil MT50 Mongoost T50 Throttle, T50cm Base & Grip, VFX Grip, ACE Interceptor Rudder Pedals w. damper / WinWing Orion2  18, 18 UFC & HUD, PTO2, 2x MFD1  / Logitech Flight Panel / VKB SEM V  / 2x DIY Button Box

Catalog .jpg

Posted

Hi, Using Wimdows 11, AMD5800x, AMD6950x and Reverb G2 OpenXR. Installed last version of Process Lasso. I did not find the way to set STEP1 . 

I  go to parameter/set cpu affinty and it asks to choose a proces. Any idea ? 

  • 2 weeks later...
Posted
On 3/11/2023 at 7:22 AM, Flextremes said:

My system: Highly optimized Win 10, AMD 5800x3D, 4090, Reverb G2, Native OpenXR, almost maxed out DCS settings with FSR upscaled render resolution 3600x3600.

Scene below is from F18 launch on Carrier in Persian Gulf Mission.

Without Process Lasso:
image.png

With Process Lasso:
image.png

'rdr CPU' seems responsible for VR frame rendering and is directly affected by scene complexity (like objects, clouds, etc..). A lower 'rdr CPU' will result in a lower 'app GPU'. DCS MT highly optimized 'app CPU', now 'rdr CPU' can have a relatively higher impact. You really want both CPU frame times combined to remain below 20ms to not start rendering at 30 fps and create mild stutters when switching between 45 and 30 fps.

By dedicating cores in Process Lasso (forcing affinity) for DCS.exe and all other processes separately, you are also separating 'app CPU' and 'rdr CPU' execution. 

In short:

STEP 1: First start DCS in VR. Select All Processes in Process lasso: Set affinity, Always, and select the last or first 4 threads of your if you have an 8 core/16 thread or more CPU. If you have fewer cores, maybe assign only 2 threads. (if applicable, only select Intel Performance Cores or cores on the AMD X3D CCD)

image.png

STEP 2: Then select DCS.exe, Set affinity, Always, and select the other threads (invert selection) (if applicable, only select Intel Performance Cores or cores on the AMD X3D CCD):
image.png

 

⚠️⚠️ IMPORTANT!!!! ⚠️⚠️

  • Do not skip STEP 1, It is crucial to separate DCS.exe from other processes, only setting Affinity for DCS does not work. All other processes should be running on different cores than DCS.exe!
  • This is tested only with OpenXR. I have not tested this with steamVR.
  • Intel CPU users below report different results.  So try and make sure you test.
  • Do not worry about excluding system processes, when setting affinity: if it is not possible to change affinity, nothing happens. 
  • I also forced 'Always - high priority' on DCS.exe.
  • Enable performance mode in Process Lasso.
  • I always manually start Process Lasso before I start DCS: I do not want Process Lasso to be enabled during startup and interfere with normal usage. This config is only recommended with VR.
  • This also works with other Simulators and games in VR.
  • Disable 'Game Bar' - as it easily conflicts with Process Lasso settings.
  • Always test and validate these settings yourselves.

Easy way to validate frame times yourself:

Choose a stable, non-moving, scene (while being parked) in the external view (with loads of objects) that has high but relatively stable 'rdr CPU' frame times. Screenshot before and after enabling Process Lasso, making sure you have the exact same view angle in VR.

Make it easy by enabling screenshots in the OpenXR toolkit companion app, enable the Advanced OpenXR FPS counter, and select CTRL + F12 to create a screenshot create before and after with the exact same view in VR. Wait for frame times to stabilize before comparing/screenshotting 'rdr CPU' and 'app GPU' values.

 

STEP 1: First start DCS in VR. Select All Processes in Process lasso: Set affinity, Always, and select the last or first 4 threads of your if you have an 8 core/16 thread or more CPU.

For step 1 do you mean to set all other processes( there can be hundreds of them) or just DCS . Step 1 can be miss leading. you did not elaborate on this. Is this select DCS and set affinity or set affinity for all other processes (background processes)? this is confusing. 

Posted

See my post here for how to fix this until ED patch it.

 

 

[sIGPIC][/sIGPIC]

i7 9700k | 32gb DDR4 | Geforce 2080ti | TrackIR 5 | Rift S | HOTAS WARTHOG | CH PRO Pedals

  • 3 months later...
Posted
On 3/24/2024 at 6:07 AM, cmskinner said:

STEP 1: First start DCS in VR. Select All Processes in Process lasso: Set affinity, Always, and select the last or first 4 threads of your if you have an 8 core/16 thread or more CPU.

For step 1 do you mean to set all other processes( there can be hundreds of them) or just DCS . Step 1 can be miss leading. you did not elaborate on this. Is this select DCS and set affinity or set affinity for all other processes (background processes)? this is confusing. 

This is a bit old now but this is the way I understand it.

1.There are two tabs in Process Lasso, "All Processes" and "Active Processes". Select the All Processes tab

2. Select any process in the list. Use keyboard ctrl+a to select all processes.

3. Right click any process

4. Select CPU Affinity -> Always -> Select CPU Affinity

5. Select your Threads for all processes to run on.

6. Select DCS -> repeat 3-4, Then 5 for just DCS.

I have not tried this, I'm just saying that's how I read it and how to select all processes. Your basically moving every possible process except DCS off of some core/threads to give them to just DCS. So that includes backgrounds processes, really anything that could run.

Meta Quest 3, Intel i9-10900K, EVGA 3080Ti FTW3, Corsair 64GB DDR4 3200, ASUS ROG Strix z-490-E Gaming, Samsung 990 Pro 2TB M2 NVME Windows 11 Drive, Samsung 970 EVO Plus 2TB M2 NVME Game Drive

  • 1 month later...
Posted (edited)
On 3/11/2023 at 6:22 AM, Flextremes said:

My system: Highly optimized Win 10, AMD 5800x3D, 4090, Reverb G2, Native OpenXR, almost maxed out DCS settings with FSR upscaled render resolution 3600x3600.

Scene below is from F18 launch on Carrier in Persian Gulf Mission.

Without Process Lasso:
image.png

With Process Lasso:
image.png

'rdr CPU' seems responsible for VR frame rendering and is directly affected by scene complexity (like objects, clouds, etc..). A lower 'rdr CPU' will result in a lower 'app GPU'. DCS MT highly optimized 'app CPU', now 'rdr CPU' can have a relatively higher impact. You really want both CPU frame times combined to remain below 20ms to not start rendering at 30 fps and create mild stutters when switching between 45 and 30 fps.

By dedicating cores in Process Lasso (forcing affinity) for DCS.exe and all other processes separately, you are also separating 'app CPU' and 'rdr CPU' execution. 

In short:

STEP 1: First start DCS in VR. Select All Processes in Process lasso: Set affinity, Always, and select the last or first 4 threads of your if you have an 8 core/16 thread or more CPU. If you have fewer cores, maybe assign only 2 threads. (if applicable, only select Intel Performance Cores or cores on the AMD X3D CCD)

image.png

STEP 2: Then select DCS.exe, Set affinity, Always, and select the other threads (invert selection) (if applicable, only select Intel Performance Cores or cores on the AMD X3D CCD):
image.png

 

⚠️⚠️ IMPORTANT!!!! ⚠️⚠️

  • Do not skip STEP 1, It is crucial to separate DCS.exe from other processes, only setting Affinity for DCS does not work. All other processes should be running on different cores than DCS.exe!
  • This is tested only with OpenXR. I have not tested this with steamVR.
  • Intel CPU users below report different results.  So try and make sure you test.
  • Do not worry about excluding system processes, when setting affinity: if it is not possible to change affinity, nothing happens. 
  • I also forced 'Always - high priority' on DCS.exe.
  • Enable performance mode in Process Lasso.
  • I always manually start Process Lasso before I start DCS: I do not want Process Lasso to be enabled during startup and interfere with normal usage. This config is only recommended with VR.
  • This also works with other Simulators and games in VR.
  • Disable 'Game Bar' - as it easily conflicts with Process Lasso settings.
  • Always test and validate these settings yourselves.

Easy way to validate frame times yourself:

Choose a stable, non-moving, scene (while being parked) in the external view (with loads of objects) that has high but relatively stable 'rdr CPU' frame times. Screenshot before and after enabling Process Lasso, making sure you have the exact same view angle in VR.

Make it easy by enabling screenshots in the OpenXR toolkit companion app, enable the Advanced OpenXR FPS counter, and select CTRL + F12 to create a screenshot create before and after with the exact same view in VR. Wait for frame times to stabilize before comparing/screenshotting 'rdr CPU' and 'app GPU' values.

 

repeat, sorry

 

Edited by Keith Briscoe
  • Recently Browsing   0 members

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