December 10, 20214 yr 6 minutes ago, Caveney737 said: I'm considering turning HT on with my 9900K and messing around with these settings. It always used to make the performance worse on my setup but maybe now I can use it to positive effect. Interested to hear how you get on! If you have it overclocked as I do (5.2GHz), prepare for a 20 C + of heat when simming. Without touching [JobScheduler] section HT on gives worst performance than HT off. SN737
December 10, 20214 yr 1 minute ago, SergioN said: If you have it overclocked as I do (5.2GHz), prepare for a 20 C + of heat when simming. Without touching [JobScheduler] section HT on gives worst performance than HT off. For me in 5.3, HT on gave a much less stuttery performance then HT off even without changing the AffinityMask. Using SteveW's settings is even better.
December 10, 20214 yr Commercial Member With P3D and FSX we can't simply turn HyperThreading on (HT or SMT) without using an appropriate AffinityMask (AM) else P3D will have main tasks sharing cores as I showed in this post: So to put it bluntly; it is a mistake to use HT enabled and no AM in FSX and P3D. That has been the issue since FSX came out. With HT disabled we have very little worry about Affinity (FSX or P3D) and we can ignore AffinityMask - unless we have a very large number of cores whereby we might want to restrict that number of cores with an appropriate AM. Steve Waite: Engineer at codelegend.com
December 10, 20214 yr Commercial Member I do not use an extreme overclock ([email protected] 2x2080ti+NVLink) and yet I get a lot more fps than the capped rate of around 28-30fps on a 60Hz 4k monitor. I don't need fans whirring and extra heat and electricity bills and risk of CTD if I am getting over 60fps and capping at 30. It is better to concentrate on getting consistency between frames when the sim is flying over new scenery and objects and loading that new scenery efficiently. I can overclock to extremes and get a few more fps for no worth whatsoever. Steve Waite: Engineer at codelegend.com
December 10, 20214 yr 5 minutes ago, SteveW said: With P3D and FSX we can't simply turn HyperThreading on (HT or SMT) without using an appropriate AffinityMask (AM) else P3D will have main tasks sharing cores as I showed in this post: So to put it bluntly; it is a mistake to use HT enabled and no AM in FSX and P3D Is this the case even with the default AM that LM sets? - for me I can promise you it was better than with HT off: This was what I replaced: P3DCoreAffinityMask=63 MainThreadScheduler=0 RenderThreadScheduler=2 FrameWorkerThreadScheduler=4 AffinityMask=63
December 10, 20214 yr Commercial Member Just now, simfan1983 said: Is this the case even with the default AM that LM sets? - for me I can promise you it was better than with HT off: This was what I replaced: P3DCoreAffinityMask=63 MainThreadScheduler=0 RenderThreadScheduler=2 FrameWorkerThreadScheduler=4 AffinityMask=63 With P3D v5.3 we are now always using an AM and that default setting of the 3 Thread Schedulers avoids core sharing but not always fully. We must inspect Task Manager and see what is happening to be sure we are giving the maximum throughput of the main core to the MainThreadScheduler to keep fps at a maximum. Have a look at the screenshot i posted earlier showing a net gain in FPS by arranging things slightly differently to the defaults. P3D can't work out what will be the best settings, so it rather simply sets defaults that should be helpful on most systems but usually are not going to be the best setting.. Steve Waite: Engineer at codelegend.com
December 10, 20214 yr 21 minutes ago, SteveW said: With P3D and FSX we can't simply turn HyperThreading on (HT or SMT) without using an appropriate AffinityMask (AM) else P3D will have main tasks sharing cores as I showed in this post: So to put it bluntly; it is a mistake to use HT enabled and no AM in FSX and P3D. I did try various Affinity Masks when I used HT on, based on your previous posts, but I could never find a sweet spot and it always caused more stuttering. I use a moderate overclock of 5.0 Ghz to allow a lower vcore setting and lower temps so when I do use HT the temps are still well within spec. What would you recommend as a starting point for these settings with a 9900K and HT on, if it's not too much bother? I was going to try: AffinityMask=65493P3DCoreAffinityMask=65493MainThreadScheduler=0RenderThreadScheduler=1FrameWorkerThreadScheduler=2 Edited December 10, 20214 yr by Caveney737 Additional info
December 10, 20214 yr 1 minute ago, SteveW said: With P3D v5.3 we are now always using an AM and that default setting of the 3 Thread Schedulers avoids core sharing but not always fully. We must inspect Task Manager and see what is happening to be sure we are giving the maximum throughput of the main core to the MainThreadScheduler to keep fps at a maximum. Have a look at the screenshot i posted earlier showing a net gain in FPS by arranging things slightly differently to the defaults. P3D can't work out what will be the best settings, so it rather simply sets defaults that should be helpful on most systems but usually are not going to be the best setting.. Yes, I have used your suggested AM settings and they are an improvement over the default. I was just pointing out that 5.3 sets an AM by default so few people will presumably be using no AM with 5.3?
December 10, 20214 yr Commercial Member Just now, simfan1983 said: Yes, I have used your suggested AM settings and they are an improvement over the default. I was just pointing out that 5.3 sets an AM by default so few people will presumably be using no AM with 5.3? Yes exactly. However, "no AM" is in fact an AM that unmasks every logical processor, we could set the AM=0 and that is the same. If we set the AM=0 in P3Dv5.3 it will change it to the AM that unmasks every logical processor. Steve Waite: Engineer at codelegend.com
December 10, 20214 yr Commercial Member 7 minutes ago, Caveney737 said: I did try various Affinity Masks when I used HT on, based on your previous posts, but I could never find a sweet spot and it always caused more stuttering. I use a moderate overclock of 5.0 Ghz to allow a lower vcore setting and lower temps so when I do use HT the temps are still well within spec. What would you recommend as a starting point for these settings with a 9900K and HT on, if it's not too much bother? 9900k is 8 core and 16 LP with HT enabled. Bear in mind that setting an affinity in P3D does not stop other programs from spilling into those cores running the time critical stuff of P3D and sapping throughput that way. We can control where other programs run with programs like Process Lasso or starting from a specially prepared batch file so these programs are forced to avoid sharing the main cores of P3D.. With 8 cores HT enabled (16LPs) I would first try: [JobScheduler] AffinityMask=21845 P3DCoreAffinityMask=21845 MainThreadScheduler=0 RenderThreadScheduler=1 FrameWorkerThreadScheduler=2 Steve Waite: Engineer at codelegend.com
December 10, 20214 yr Just now, SteveW said: 9900k is 8 core and 16 LP with HT enabled. Bear in mind that setting an affinity in P3D does not stop other programs from spilling into those cores running the time critical stuff of P3D and sapping throughput that way. We can control where other programs run with programs like Process Lasso or starting from a specially prepared batch file so these programs are forced to avoid sharing the main cores of P3D.. With 8 cores HT enabled (16LPs) I would first try: [JobScheduler] AffinityMask=21845 P3DCoreAffinityMask=21845 MainThreadScheduler=0 RenderThreadScheduler=1 FrameWorkerThreadScheduler=2 Thanks Steve, I will give that a try. By the way, I do use Process Lasso to move other programs away from the main P3D cores.
December 10, 20214 yr Commercial Member Using the example for the 8 core / 16 LP CPU in HT mode: [JobScheduler] AffinityMask=21845 P3DCoreAffinityMask=21845 MainThreadScheduler=0 RenderThreadScheduler=1 FrameWorkerThreadScheduler=2 Putting 21845 into the DEC field of Windows Calculator in Programmer mode gives the BIN value 101010101010101. Because we are in HT mode we should be using the proper nomenclature so that binary value will look like this: 01,01,01,01,01,01,01,01 showing we are in HT mode with 2 LPs per core. Lining up the binaries we can see more clearly, remember that LP 0 is the right-most digit (core 0 is the right-most two digits): 01,01,01,01,01,01,01,01 = 21845 = AffinityMask 01,01,01,01,01,01,01,01 = 21845 = P3DCoreAffinityMask 00,00,00,00,00,00,00,01 = 0 = MainThreadScheduler 00,00,00,00,00,00,01,00 = 1 = RenderThreadScheduler 00,00,00,00,00,01,00,00 = 2 = FrameWorkerThreadScheduler Now let's look at a more extreme setup that maximises the use of HyperThreading to collect and assemble new scenery and object data: 11,11,11,11,11,01,01,01 = 65493 = AffinityMask 11,11,11,11,11,01,01,01 = 65493 = P3DCoreAffinityMask 00,00,00,00,00,00,00,01 = 0 = MainThreadScheduler 00,00,00,00,00,00,01,00 = 1 = RenderThreadScheduler 00,00,00,00,00,01,00,00 = 2 = FrameWorkerThreadScheduler We still have three cores with only one LP enabled, the remaining cores have both LPs enabled. This may be too much throughput of the system given to loading scenery and that can reduce the system throughput available to the main task. So we may require less "11," and more "01": 11,11,11,01,01,01,01,01 = 64853 = AffinityMask 11,11,11,01,01,01,01,01 = 64853 = P3DCoreAffinityMask 00,00,00,00,00,00,00,01 = 0 = MainThreadScheduler 00,00,00,00,00,00,01,00 = 1 = RenderThreadScheduler 00,00,00,00,00,01,00,00 = 2 = FrameWorkerThreadScheduler Steve Waite: Engineer at codelegend.com
December 10, 20214 yr 1 hour ago, simfan1983 said: Is this the case even with the default AM that LM sets? - for me I can promise you it was better than with HT off: This was what I replaced: P3DCoreAffinityMask=63 MainThreadScheduler=0 RenderThreadScheduler=2 FrameWorkerThreadScheduler=4 AffinityMask=63 63 (Dec) = 111111 (Bin) If this is LM’s default value for what I’m assuming to be a 6 cored CPU then the initial value is being based simply on the physical core count of the CPU with HT=OFF. This is unlikely to be ideal. With version 5.3 I believe that, by giving us these additional options, LM are encouraging us to take control of optimisations to satisfy our individual, often unique, requirements. By now, LM will be aware that we are becoming much more Affinity Mask savvy these days and, I’m deducing, felt the time was right to help us to exploit this hard won knowledge by expanding the Affinity Mask possibilities. Mike Edited December 10, 20214 yr by Cruachan
December 10, 20214 yr 1 hour ago, SteveW said: unless we have a very large number of cores whereby we might want to restrict that number of cores with an appropriate AM. Steve, Could you define a very large number of cores? I'm running a 5950x, which has 16 cores? Thanks.
December 10, 20214 yr Commercial Member 2 minutes ago, Iadbound said: Steve, Could you define a very large number of cores? I'm running a 5950x, which has 16 cores? Thanks. As I mentioned that depends on the motherboard and other hardware (which defines the complete system bandwidth) just how many is too many is something you will have to find. it could be that no amount is too many for that system. Steve Waite: Engineer at codelegend.com
Archived
This topic is now archived and is closed to further replies.