January 26, 20224 yr Commercial Member With HT disabled there's little need for AM unless you have a lot of cores (more than 12) you may want to reduce the number of cores for the sim. With HT enabled (to gain file loading speed) you must use the proper AM theory to maintain fps and stability. The reason LM are now forcing AMs and main task locating on to us is because the way P3D works is similar to FSX and with the latest CPUs and operating systems the layout of the main tasks can become unpredictable and if HT is enabled we might lose fps and stability if the tasks lay out poorly. Not an issue with HT disabled. Steve Waite: Engineer at codelegend.com
January 26, 20224 yr I know what Peter means regarding dynamic lighting. Performance is extremely variable, even within the IniBuilds updates. As an example, I installed the IniBuilds dynamic lighting updates for MK Studios Dublin and FlyTampa Copenhagen. Performance definitely suffers when close to the terminal buildings at Dublin, but I have not noticed a performance difference at all at Copenhagen. That strikes me as rather strange. Bear in mind that this is in P3Dv4.5 with 4x SSAA enabled. I noted previously that the dynamic lighting at ORBx EGPN Dundee produces a detectable hit to performance, even though the airport is tiny compared to the two mentioned above! By the way, the dynamic lighting updates for my UK2000 airports do not affect performance in any way. Edited January 26, 20224 yr by Christopher Low Christopher Low AMD Ryzen 7 9800X3D CPU / 64GB DDR5-6000 RAM / 12GB Nvidia RTX 4070 Super GPU / Gigabyte X870E Aorus Elite Wifi 7 / 1+2TB Samsung Evo Plus M2 Nvme UK2000 Beta Tester
January 26, 20224 yr Commercial Member 15 hours ago, psolk said: Steve, May I inquire how Alder Lake on both Win 10 and Win 11 are impacted by this with the -P and -E cores and the scheduler in W11... Speaking as a 12700 owner 🙂 Just wondering how that changes the equation. Trying SO hard to follow all this. You have 8 P cores with 16 threads in HT, and 4 E cores 4 threads no HT With HT disabled you want to locate the main three tasks onto the P cores, keeping the order Main, Render, FrameWorker. Allow the sim to use all cores. With HT enabled you want to locate the main three tasks onto the P cores but you need to mask the second LP of each of those three cores as we have shown so those three cores are each only occupied by their main task. Allow the sim to use all other cores. Steve Waite: Engineer at codelegend.com
January 26, 20224 yr Commercial Member 15 hours ago, Adrian123 said: Follow all this? Been following all this HT/AM for almost two decades and not found any conclusive evidence or end game. 🙂 Please see my post above for the reasons of HT/AM . Edited January 26, 20224 yr by SteveW Steve Waite: Engineer at codelegend.com
January 26, 20224 yr 1 hour ago, SteveW said: Is it as simple as counting from Core 0=1, Core 2=2, Core 3=3 and Core 4=4 and the threads are placed on the Logical Processor of each of the three Cores as defined by the P3DCoreAffinityMask? Hi Steve, Thank you! I cannot believe how often I read and re-read the above segment of my last post and yet still managed to miss a fundamental error! It should, of course, have read: “Is it as simple as counting from Core 00=1, Core 01=2, Core 02=3 and Core 03=4 and the threads are placed on the Logical Processor of each of the three Cores as defined by the P3DCoreAffinityMask?” 07,06,05,04,03,02,01,00=core number 00,11,11,11,01,01,01,11=P3DCoreAffinityMask=1621500,00,00,00,00,00,01,00=MainThreadScheduler=2 = LP200,00,00,00,00,01,00,00=RenderThreadScheduler=3 = LP400,00,00,00,01,00,00,00=FrameWorkerThreadScheduler=4 = LP6 So, I think I’ve understood how this works correctly...just didn’t express it with sufficient care and attention ☹️ Best regards, Mike Edited January 26, 20224 yr by Cruachan
January 26, 20224 yr Commercial Member Hi Mike, If you look at Task manager performance graphs Logical Processor view and fly around, you should see the three main tasks one per core and all the others spiking along collecting scenery. You need to see that those three tasks are obvious. The MainThreadScheduler should be going to 100% and when you cap it with an fps limit or VSYNC you should see it reduce. The other two, Render and FrameWorker will be around half or more. Depends on your settings. Regards Steve Steve Waite: Engineer at codelegend.com
January 26, 20224 yr 1 hour ago, SteveW said: You have 8 P cores with 16 threads in HT, and 4 E cores 4 threads no HT With HT disabled you want to locate the main three tasks onto the P cores, keeping the order Main, Render, FrameWorker. Allow the sim to use all cores. With HT enabled you want to locate the main three tasks onto the P cores but you need to mask the second LP of each of those three cores as we have shown so those three cores are each only occupied by their main task. Allow the sim to use all other cores. This HT stuff I find difficult to get. Do you have a sample example for HT on with the same CPU you would suggest trying in the CFG file (12700k)? Thanks. You are helping alot of people here. 5800X3D, 4090FE, 64GB DDR4 3600C16, Gigabyte X570S MB, EVO 970 M.2's, Alienware 3821DW and 2 22" monitors, Corsair RM1000x PSU, 360MM MSI MEG, MFG Crosswind, T16000M Stick, Boeing TCA Yoke/Throttle, Skalarki MCDU and FCU, Logitech Radio Panel/Switch Panel, Spad.Next
January 26, 20224 yr Commercial Member 30 minutes ago, micstatic said: This HT stuff I find difficult to get. Do you have a sample example for HT on with the same CPU you would suggest trying in the CFG file (12700k)? Thanks. You are helping alot of people here. Will do. Can you tell me which are the P cores and which are the E cores? So far I have not seen one of those and there is very poor information on this aspect. Steve Waite: Engineer at codelegend.com
January 26, 20224 yr 12 minutes ago, SteveW said: Will do. Can you tell me which are the P cores and which are the E cores? So far I have not seen one of those and there is very poor information on this aspect. that's a good question. I don't know how to figure that out either. hmm 5800X3D, 4090FE, 64GB DDR4 3600C16, Gigabyte X570S MB, EVO 970 M.2's, Alienware 3821DW and 2 22" monitors, Corsair RM1000x PSU, 360MM MSI MEG, MFG Crosswind, T16000M Stick, Boeing TCA Yoke/Throttle, Skalarki MCDU and FCU, Logitech Radio Panel/Switch Panel, Spad.Next
January 26, 20224 yr 17 minutes ago, SteveW said: Will do. Can you tell me which are the P cores and which are the E cores? So far I have not seen one of those and there is very poor information on this aspect. So From what I understand it is 8 Core HT 4 Core non HT so 20 Threads. P Cores would be 0-8 and threads 0-16 E-Cores are Cores 9-12 but threads 16-20 So the P-Cores are essentially an 8 Core HT "if I even understand my own CPU" LOL... Edited January 26, 20224 yr by psolk Have a Wonderful Day -Paul Solk
January 26, 20224 yr The other interesting thread with the E-Cores being non HT is they run at a lower CPU speed. I run 5.1 on P-Cores and 3.2 or 3.6 I can't remember with the E-Cores. In Process Lasso I have ancillary tasks set to E-Cores and P3D set to P-Cores which keeps CPU temps below 60 despite the P-Cores running at 5.1 Have a Wonderful Day -Paul Solk
January 26, 20224 yr Commercial Member 1 minute ago, psolk said: So From what I understand it is 8 Core HT 4 Core non HT so 20 Threads. P Cores would be 0-8 and threads 0-16 E-Cores are threads 16-20 So the P-Cores are essentially an 8 Core HT "if I even understand my own CPU" LOL... Thanks. That seems most likely and is what I expected. 49 minutes ago, micstatic said: This HT stuff I find difficult to get. Do you have a sample example for HT on with the same CPU you would suggest trying in the CFG file (12700k)? Thanks. You are helping alot of people here. With HT enabled and assuming the core locations mentioned above are correct we can write out a Logical Processor Map: 12 series HT Enabled 8 HT cores and 4 non HT cores in the 12700K 11,10,09,08,07,06,05,04,03,02,01,00=core number 1,1,1,1,11,11,11,11,11,01,01,01=AffinityMask = 1048533 1,1,1,1,11,11,11,11,11,01,01,01=P3DCoreAffinityMask = 1048533 0,0,0,0,00,00,00,00,00,00,00,01=MainThreadScheduler = 0 0,0,0,0,00,00,00,00,00,00,01,00=RenderThreadScheduler = 1 0,0,0,0,00,00,00,00,00,01,00,00=FrameWorkerThreadScheduler = 2 [JobScheduler] AffinityMask=1048533 P3DCoreAffinityMask=1048533 MainThreadScheduler=0 RenderThreadScheduler=1 FrameWorkerThreadScheduler=2 Steve Waite: Engineer at codelegend.com
January 26, 20224 yr Commercial Member As I mentioned earlier, the AMs are now forced on us so that there is a way of ensuring the layout of tasks is correctly asserted because otherwise with latest CPUs and Operating Systems the layout might otherwise be unpredictable. The main issue is that if a main task is coupled on an HT core with a scenery gathering thread, that main task will fluctuate causing stutter. That is why with the defaults set in the Prepar3D.cfg we see: MainThreadScheduler=0 RenderThreadScheduler=2 FrameWorkerThreadScheduler=4 This ensures that with HT enabled each of the three main tasks are moved onto a separate physical core. However, with HT enabled we must still MASK OFF those sister LPs with the typical 01,01,01 you see in the binary notation and ensure the Scheduler numbers (starting from 0) are correctly pointing to those Logical Processors. As discussed earlier with Mike. 1,1,1,1,11,11,11,11,11,01,01,01=P3DCoreAffinityMask = 1048533 0,0,0,0,00,00,00,00,00,00,00,01=MainThreadScheduler = 0 0,0,0,0,00,00,00,00,00,00,01,00=RenderThreadScheduler = 1 0,0,0,0,00,00,00,00,00,01,00,00=FrameWorkerThreadScheduler = 2 So we see 0,1,2 because we are counting the ones in the P3DCoreAffinityMask. Steve Waite: Engineer at codelegend.com
January 26, 20224 yr 6 hours ago, Alexx Pilot said: My monitor is LG Ultragear (27gn850) 2K 144Hz. I tried to lower the refresh rate to 120, 100, 60 but same thing, for example 60Hz for me is the worst because I also see stuttering on YT and during normal use of the pc. Using the p3d counter, the drops aren't very noticeable (for example 80 - 99 - 70 - 90 - 59) and the minimum I think was 40. By "aggressive maneuvers" I mean pitching up and down quickly, and during tonneau stuttering occurs when the aircraft quickly returns to level flight. (I can make a video tonight if needed). I tried every way limiting to 30fps in p3d and outside but the result was not smooth. I'm starting to think it could be related to monitor refresh rate. Thank you! This is what I'm getting regarding micro-stutters: test (streamable.com) (Sorry for the low quality upload)
January 26, 20224 yr Commercial Member 33 minutes ago, Alexx Pilot said: This is what I'm getting regarding micro-stutters: test (streamable.com) (Sorry for the low quality upload) You don't say which processor you have, that might be important because I can get similar results to your video by messing with the JobScheduler section in Prepar3D.cfg and have HT enabled in the CPU. This is what I would do: I would set up the P3D JobScheduler section with the advice offered in this discussion before moving on to other possibilities. If you tell me your CPU details I can make recommendations there, i would need to know your CPU model and whether you have HT enabled or disabled. With the CPU configured I would temporarily lower my P3D Display Settings to eliminate the possibility that too much detail is demanded. I would leave the monitor set to the fastest refresh, 144Hz, this ensures the least time between receiving a frame and displaying it. I would go into Nvidia Control Panel and in "Manage 3D Settings" the Global Settings tab I would Restore/Apply, and then in the Program Settings tab I would choose the Prepar3D.exe profile and Restore/Apply that (if the Restore button isn't showing, make any change and Apply, that will make the Restore button appear). In the fresh Prepar3D.exe profile I would set the Max Frame Rate to 36 (144 / 4 = 36) or 29 (144 / 5 = 28.8). Start P3D and try the same tests as you did before. Edited January 26, 20224 yr by SteveW Steve Waite: Engineer at codelegend.com
Archived
This topic is now archived and is closed to further replies.