@LM Team I have a six core/six thread i5-9600k. In P3Dv4.5 I had my mask set to 63, to force P3D onto all six cores. I did this because I also used Process Lasso to remove everything else from Core 0. I excluded Prepar3d.exe from Process Lasso to prevent it from interfering with P3D's built-in affinity capability. Doing this I saw pretty even use of my cores in complex scenery environments, with Core 0 running the main thread, and cores 2-5 rendering terrain.
In v5 I started with no AM and saw that v5 was using only 3 of my cores at any significant demand, so then I added the same AM to v5 but saw no change in behavior - again cores 1,3 and 5 were taking all the load.
So, simple question I guess - has there been a change in the way P3D uses the processor and is this behavior I'm observing expected or an anomaly? I did check the Advanced Configuration section of the P3Dv5 SDK documentation, but didn't see anything different indicated there with respect to Affinity Mask.
I have encountered scenarios where my system is utilizing the three cores it is using at about 80% and the GPU at about the same, yet my frames are falling below the target and was wondering if this was possibly related?
I should note that I have Process Lasso completely disabled (not even the engine is running) for v5.
Thanks!
v5 Affinity Mask changed behavior?
Re: v5 Affinity Mask changed behavior?
LM Team, I thought I'd update this with data to see if you can explain whether this is expected behavior.
In v4.5 when I run with V-Sync on and have my 4k monitor set to 30hz, I set my framerate unlimited and I get 30 fps and a balance of utilization across all 6 of my cores.
In v5 I have set the same affinity mask as before:
If I run as in v4.5 with 30hz, vsync on, framerate unlimited, here's my CPU utilization in flight:
If I set frames locked to 30 fps, as is the default, I see this:
I ask because sometimes I find myself unable to maintain 30fps, yet the CPU load and the GPU load are well below 100%, and core 0 never goes above about 60%.
In v4.5 when I run with V-Sync on and have my 4k monitor set to 30hz, I set my framerate unlimited and I get 30 fps and a balance of utilization across all 6 of my cores.
In v5 I have set the same affinity mask as before:
If I run as in v4.5 with 30hz, vsync on, framerate unlimited, here's my CPU utilization in flight:
If I set frames locked to 30 fps, as is the default, I see this:
I ask because sometimes I find myself unable to maintain 30fps, yet the CPU load and the GPU load are well below 100%, and core 0 never goes above about 60%.
Re: v5 Affinity Mask changed behavior?
Let it use all your cores. I did some tests with my 9900k and it behave much worse if I disabled any core or changed the affinity. Indeed trying to change affinity on the fly (with Lasso for instance) made game run horrendously slow.
P3D5 seems to be more efficient with CPU and GPU usage. I tested than on full demand (dense scenarios maxed out) it really uses my 16 cores at 60-70% levels and the GPU is always at its best full load. If it does not use some of your cores it could be as simple as the computing demand is not requiring it. Now the GPU takes a much bigger load than in P3D4, which was the CPU the one leading the efforts.
Cheers
P3D5 seems to be more efficient with CPU and GPU usage. I tested than on full demand (dense scenarios maxed out) it really uses my 16 cores at 60-70% levels and the GPU is always at its best full load. If it does not use some of your cores it could be as simple as the computing demand is not requiring it. Now the GPU takes a much bigger load than in P3D4, which was the CPU the one leading the efforts.
Cheers
Intel i9-9900K, Nvidia RTX2080Ti, 32 Gb DDR4, Windows 10 64bit
- Beau Hollis
- Lockheed Martin
- Posts: 2452
- Joined: Wed Oct 06, 2010 3:25 pm
Re: v5 Affinity Mask changed behavior?
To get an accurate test, you should be flying fast or slewing. The primary core is always working, as are two additional cores set aside for per-frame rendering related work. The rest of the cores are used for jobs like loading terrain, autogen, creating batches, etc. On higher setting, you'll see all your cores working hard whenever terrain is being paged in.
Beau Hollis
Prepar3D Software Architect
Prepar3D Software Architect
Re: v5 Affinity Mask changed behavior?
Thank you. So what I guess I'm wondering about is that I'm seeing my frame rate drop below the target, or below the vsync, even when none of my cores are at 100% and my GPU is also around 70%. This causes stuttering. And when I do raise my settings higher to try and use more resources, the framerate just falls even more, without any more CPU or GPU utilization.Beau Hollis wrote: ↑Mon Apr 20, 2020 3:39 am To get an accurate test, you should be flying fast or slewing. The primary core is always working, as are two additional cores set aside for per-frame rendering related work. The rest of the cores are used for jobs like loading terrain, autogen, creating batches, etc. On higher setting, you'll see all your cores working hard whenever terrain is being paged in.
I will test some more and come back with more coherent findings.