August 30, 20169 yr Commercial Member Steve...I have the .bat file running and it launches 'FSWeather', but how can I verify the correct affinity (248) has been applied? Process Lasso (which I'm trying to get away from using with the .bat) still shows all cores (0-7) being used. Should I just ignore Process Lasso and assume it is runnning on 248 LPs, or is PL overwriting the affinity set from the .bat file maybe? Thanks! Remember that in the .bat the Affinity Mask is Hex, not Decimal like in the cfg. 10,10,00,00 = decimal 160 = Hex A0 Start addons with two LPs assigned as with A0 as an example. The theory of how to properly utilise Hyperthreaded Cores for Multi-Threaded Windows Apps is very standard stuff, although I don't doubt Bojote instructed the use of one LP for the main thread as any good Windows Software Engineer would do. By the way; Hyperthreading is not a software Emulation, it is additional hardware on the CPU which reduces the time to run two threads on one core. For example, when threads are swapped on a core, that core must store and retrieve the contexts, which takes some time. Two threads running on the same core but one per HT LP, that context switching is gone, see below: ...you should see the correct affinity shown in Task Manager Details, sounds like PL could be affecting things, you don't need another process to handle P3D apps, PL is for other types of processes. Also check if the Addon itself assigns its own affinity and use that in preference to .bat or PL. Considering the title: "A Frame-Time Analysis of P3D v3 -- Effects of CPU Affinity, Frame Lock, and HT" The relationship between the GPU and the monitor is more important than CPU Affinity. We can load the sim with high orders of Anti-Aliasing and this can reduce the sim performance to a straight line keeping a consistent frame-rate and can look good. This has nothing to do with getting core affinity right. Getting core affinity right ensures the sim is working with the best capacity for throughput. Looking for changes from core affinity setup is a waste of time if the sim is up against some other performance stop. Steve Waite: Engineer at codelegend.com
August 30, 20169 yr Bob, I have FSUIPIC, so AM=12 means the .exe file will only use core 0 and leave the rest for P3D? I have PFPX, Aivlasoft EFB, Active Sky Next and a few other apps I would like to keep seperate from P3D, so do they all get the same AM= setting? I am running P3D with AffinityMask=254 currently. So what AM value should I use for my other apps? At the moment I'm running P3D with a AffinityMask of 85, so I start AS16 with AM=12 which will run on core 2 , LP's 2&3 bob
August 30, 20169 yr Commercial Member LPs 2 & 3 are core 1 since core zero is LP 0 & 1. But yes that's not bad however AS would be very slightly better on Decimal 40, Hex 28, which is LPs 3 & 5, if you are using AM=85=01,01,01,01=LPs 0,2,4,6. Steve Waite: Engineer at codelegend.com
August 30, 20169 yr LPs 2 & 3 are core 1 since core zero is LP 0 & 1. But yes that's not bad however AS would be very slightly better on Decimal 40, Hex 28, which is LPs 3 & 5, if you are using AM=85=01,01,01,01=LPs 0,2,4,6. yes , thanks Steve, forgetting we start at 0, ha ha,( had a hard day hedge trimming) just trying 85 because for some reason started having slight stutters with 116. quick test with AS16 on 40 garphs showing abit more balanced, bob
August 30, 20169 yr I noticed that Flight1's GTN 750/650 ini file has an entry for Core= so I guess we can specify what core it will run on. I'm still confused as to what Core/LP my apps such as PFPX, ASN, EFB should run on. Can someone give me a definite answer? ASUS ROG Maximus Hero XII ▪︎ Intel i9-10900K ▪︎ NVIDIA RTX 3090 FE ▪︎ 64GB Corsair Vengeance RGB Pro ▪︎ Windows 10 Pro (21H1) ▪︎ Samsung 970 EVO Pro 1TB NVME SSD (OS Drive) ▪︎ Samsung 860 EVO 2TB SATA SSD ▪︎ Seagate 4TB SATA HDD ▪︎ Corsair RMx 850W PSU
August 30, 20169 yr what Core/LP my apps such as PFPX, ASN, EFB should run on. Can someone give me a definite answer? All those products can be run on a separate computer (doesn't need to be a powerful one, heck even a laptop would work) ... that's the best option. If that isn't an option for you, then select the core (or cores) not being used the most and use that for running PFPX, ASN, EFB. Taskmgr and/or Process Explorer will tell you what cores see the least activity during your flights. Cheers, Rob.
August 30, 20169 yr All those products can be run on a separate computer (doesn't need to be a powerful one, heck even a laptop would work) ... that's the best option. If that isn't an option for you, then select the core (or cores) not being used the most and use that for running PFPX, ASN, EFB. Taskmgr and/or Process Explorer will tell you what cores see the least activity during your flights. Cheers, Rob. Rob - What specific software or hardware would you need to run these programs on another computer or laptop? Nick Sciortino
August 30, 20169 yr PFPX, ASN, EFB are all 2D interfaces, as such not much required at all to run them well. I would however recommend you have 100 or 1000 Gbit hardwire network (Cat5/6) ... definitely NO wireless. New Lenovo $220 has a NIC port 100 If you went "used", you could probably find even more powerful laptop for less (just make sure they have a working NIC 100/1000 port). Or if you have some left over parts (CPU, motherboard, RAM) you can put one together cheap. The PC I use to run FPFX, AS16, EFB, FSCommander, and liveATC.net is a very old AMD A4 3400 ($50) with on-board graphics and 16GB cheap RAM and a 1TB drive and a spare monitor I had floating around ... You could build a new PC for about $300 (including monitor) that is more than capable of running that software. Cheers, Rob.
August 31, 20169 yr Commercial Member I'm still confused as to what Core/LP my apps such as PFPX, ASN, EFB should run on. Can someone give me a definite answer? The background jobs running in the sim occupy all unmasked LPs beyond the first LP which is running the primary job of rendering. When four LPs are unmasked, the first job is at its leanest and operates with the best performance. Jobs created beyond four only serve to increase scenery loading speed at a minor cost to rendering performance (negligible since v3.2). These background jobs can take many seconds to complete so they don't particularly care too much when the cores they occupy are shared with real running tasks like a weather engine for example. Q. What's best for addons? A. We ensure addon programs run only on cores other than the first core available to the sim so that they don't consume throughput of that main core. We assign a minimum of two LPs per addon preferably on separate cores, but not essential. Ensure they are not LPs of the first core allocated to the sim. Example: If we have HT enabled we can also target the LPs masked off from the sim if there are any, and this brings the performance gains of HT into the mix as well. with a four core+HT we can use an AM=85, breaks the sim into four parts: 01,01,01,01=85=LPs 0,2,4,6 leaves: 10,10,10,00=LPs 3,5,7, ignoring LP 1 since this is the other LP of core zero LPs 0 & 1. if we are using for example an AM=253 or similar so we don't have free LPs, we just have to accept that the addon jobs will reside on LPs running the sim background jobs. We still insist that these do not run on the LPs of the main core hosting the renderer. or similarly with four core no HT: 1111=0=15=no AM for the sim leaves: 1110=LPs 1,2,3, ignoring LP 0 since this is core zero with the renderer. Addons for P3D are networked apps (think SimConnect) they don't need to be on another physical PC they communicate with networking. Assuming correct configuration on one PC, results will be pretty close to utilising a second networked PC, since that increases real physical network throughput and places extra load on the sever that way. Networked apps running on the same PC run at loopback speed. Steve Waite: Engineer at codelegend.com
August 31, 20169 yr Thanks for all the great info in this thread ! Steve what would you recommend for this system- in particular, the affinity mask for 12 Cores! 3.46GHz 12 Core Xeon X5690 64GB Ram Nvidia GTX 980 Its actually a Mac Pro , but running windows natively (from boot - not in a virtual machine) P3d is pretty good on it but always looking to improve many thanks in advance Bill P
August 31, 20169 yr Commercial Member Hi Bill, Interesting, since running Windows natively you can enable HT I believe. There are any number of variants all amount to the same thing. You can't increase the performance with any particular AMs but you can optimise the system. Taking into account what's been said, with HT=On try 6 LPs AM=1365=00,00,00,00,00,00,01,01,01,01,01,01 and keep addons on cores 6 and up. If you get that you can see that you can use AM=5591040=01,01,01,01,01,01,00,00,00,00,00,00, and restrict addons to the first six cores. With 12 cores even HT disabled is way good, so you can try AM=4032=111111000000 and keep addons to first six cores. If you use a stopwatch to time the loading of a particular scenario you can see that using 6 LPs loads the scenario in less time rather than 4 LPs. The rendering performance may improve slightly with 4 LPs. You can try 8 LPs and perhaps see a little less time to load the scenario than with 6 LPs, so use 8 in that case. HT=On, 8 LPs AM=5592320=01,01,01,01,01,01,01,01,00,00,00,00 keep addons to first four cores HT=Off 8 LPs AM=4080=111111110000 keep addons to first four cores Some motherboards are available whereby one particular core (or more) can be overclocked higher than the rest of the cores. In this case we target the highest frequency core with the first LP unmasked to the sim. With a 12 core HT=Off example and core 4 being the highest frequency we can allocate 4 to 8 cores from core 4 with AMs 240=000011110000, 1008=001111110000, 4080=111111110000 which represent four six and eight cores respectively. (having said that with regards to the XEONs, they aren't made for overclocking, so we'll have to wait a little wile yet for an unlocked 12 core). Steve Waite: Engineer at codelegend.com
August 31, 20169 yr I noticed that Flight1's GTN 750/650 ini file has an entry for Core= so I guess we can specify what core it will run on. I'm still confused as to what Core/LP my apps such as PFPX, ASN, EFB should run on. Can someone give me a definite answer? I don't why you have settled on 253 as your AM. Earlier on in this thread Steve showed that P3D does not really benefit from using more than four LPs, apart from a small loading time decrease. Given that, I would suggest an AM of 116, which Steve also showed to give good results. 116 = 01110100 which leaves both first core LPs free for the OS and addons. Since most addons would tend to use the first core anyway (? ) there should be less concern about trying to assign an AM to every addon you have. If you still want to experiment with addon AMs I would suggest a program like Process Lasso which is very easy to use. https://bitsum.com/ The full version is available for free download but there is an increasing delay in opening the program if you do not eventually buy it. gb. YSSY. Win 10, [email protected], Corsair H115i Cooler, RTX 4070Ti, 32GB G.Skill Trident Z F4-3200, Samsung 960 EVO M.2 256GB, ASUS Maximus VIII Ranger, Corsair HX850i 850W, Thermaltake Core X31 Case, Samsung 4K 65" TV.
August 31, 20169 yr Still interesting discussion going on here. Did some tests (again...) yesterday and in my case, it remains as such as that the only AM giving me good results is AM=85. If I use AM=254 as an example, my performance is not worse, but the sim stutters all along, really not smooth anymore. This is with an 3770K running at 4.5GHz. It seems that keeping three LP free for my addons such as UT2 and FSGRW, my rig provides the best results. Strange enough that I had always the issue that something went wrong after exiting P3D yesterday evening: something blocked my PC, the mouse pointer moved only staggering, extremely slow and I was not able to shut down the PC anymore without using the power button. I am almost certain that this is related to the newest driver release of nVidia, but if someone knows a solution, I am happy with it. Greetings, Chris AMD Ryzen 7 9800X3D, 2x32GB DDR5 6000MT/s RAM, MSI RTX 4090 Ventus 3X, Windows 11 Home, MSFS2024
August 31, 20169 yr Thanks Steve, lots of food for thought there ! Hyper threading is indeed turned on already , but curiously Windows task manager (the meters that show core activity) only shows up 18 cores not 24... I have read this is a bug sometimes using mac bootcamp. They all seem to be actually available as I used a tool to check if they were unparked , and they all show up there ... Will try your various suggestions and see what works best....your help is much appreciated ! BIll P
August 31, 20169 yr Okay I did a test using task manager, this is with my affinity mask set to 253 in prepar3d.cfg. So it looks like CPU 1 and 2 are the least used while CPU 0 is pretty much max'd out. So like gboz said, I should set my affinity mask to 116 since most apps will run off core 0 by default, right? With AM=116 I can pretty much set it and forget it. I took a screenshot while flying to see what cores would be in use. And here's with Affinity Mask set to 116... If you look at my graph, it looks like the set of CPU on the far right are getting used the least. So does that mean I should change the affinity mask so that it will move those last 2 cores on the right to the left instead? Basically swap them around so that core 0 is using the least amount of processing power. ASUS ROG Maximus Hero XII ▪︎ Intel i9-10900K ▪︎ NVIDIA RTX 3090 FE ▪︎ 64GB Corsair Vengeance RGB Pro ▪︎ Windows 10 Pro (21H1) ▪︎ Samsung 970 EVO Pro 1TB NVME SSD (OS Drive) ▪︎ Samsung 860 EVO 2TB SATA SSD ▪︎ Seagate 4TB SATA HDD ▪︎ Corsair RMx 850W PSU
Archived
This topic is now archived and is closed to further replies.