February 3, 201610 yr I am new to Prepar3D, but love it so far! I loaded up an old copy of FSX on a new machine and did not like the performance, so I looked at this sim as a good current sim to move to. Loving almost everything so far, except that I cannot get a stable framerate. I've read that this is mostly due to the CPU doing most of the rendering. I've done some affinity mask stuff I've read about, and it does seem to help, but not cure the problem. I can get 144fps at high altitude with most settings turned up to max. However, once you approach some 3D objects like scenery buildings and AUtogen buildings, it goes south fast. I understand that adding more stuff to process will increase the frametime and decrease framerate, but is there a happy balance where someone could get 60fps or higher even in heavy scenery areas? What is confusing me is this: Neither my CPU nor my GPU are maxed or even close most of the time, yet framerates suffer. (I unlike most of you (I've been reading) cannot stand 30-55fps for anything. I want a frame available from any game or sim every time my monitor is ready for one. That means absolutely no skipped frames or stutters). In many applications I can achieve this, but not here. So, what exaclty is the reason Prepar3D does not get higher framerates even though GPU AND CPU are not maxed? To be clear, I do know that it is maxing one of my cores, but couldn't the rendering by moved to multiple cores and or the GPU? WOuldn't that improve things? I understand why the flight calculation stuff needs to be done by the CPU, but I don't think I'd be incorrect to compare modern flight sims to modern racing sims, where many components on dozens of cars are calculated at once and provide real race drivers with valuable seat time. Both Assetto Corsa and Project CARS use the CPU for physics, and the GPU for graphics. Couldn't this flight sim do the same? my specs: i5-4670 3.4ghz GTX970 Asus 144hz monitor 1080p Seagate 2TB HDD Win7 on SSD
February 3, 201610 yr There is a legacy trick to get all cores used at around 80-90% (on my system). After the sim is up and running, go into the task manager, enter the affinity/cores (or similar) entry, switch off core 1, quit okay, do the same once more, switch on core 1 again, make sure all cores are running again. Watch core usage. Be advised that LM does NOT approve this method (their argument was it would interfere with their threading mechanism). However, it gives me a couple of more fps, less fluctuations (yes I measered and recorded them) and no adverse effects, as far as I can tell. The more CPU throughput also gives the GPU more work. This can be automated using e.g. a batch file. Do it at your risk, however, given this does not modify the simulator configuration there isn't that much risk. Kind regards, Michael Intel i7-13700K / AsRock Z790 / Crucial 32 GB DDR 5 / ASUS RTX 4080OC 16GB / BeQuiet ATX 1000W / WD m.2 NVMe 2TB (System) / WD m.2 NVMe 4 TB (MSFS) / WD HDD 10 TB / XTOP+Saitek hardware panel / LG 34UM95 3440 x 1440 / HP Reverb 1 (2160x2160 per eye) / Win 11
February 3, 201610 yr I am experiencing the same thing as you. Virtual cockpits in advanced aircraft like the PMDG 777 or 737 will lower the framerate in VC view because of the sheer number of clickspots in the cockpit. However, this afternoon I am going to test what I get on lowest settings and see what I can get and report back. Usually with my settings I get stable 40fps but I want to see what I can get on minimum
February 3, 201610 yr Michael... Could you go into a bit more detail and step by step for the tweak you describe here, please? "After the sim is up and running, go into the task manager, enter the affinity/cores (or similar) entry, switch off core 1, quit okay, do the same once more, switch on core 1 again, make sure all cores are running again." Task Manager in Windows 7, has a Performance Tab and a "Resource Monitor" ... but I do not immediately see how to switch a core off and back on. I note that there is Core 0 and then Core 1. Also, could you explain what this actually does in system? Why does the "OFF" then "ON" change how the cores perform and activate all four? thanks RMM
February 4, 201610 yr Hi, unfortunately I run Win 10, and moreover the German flavor, thus I can't tell you the exact naming of the entries. As far as I recall from Win 7, when you open the Task Manager (not the performance manager it includes) you see a list of all running programs immediately. Now you right click with the mouse Prepar3.exe. There are several entries like "Priority" (which I would always set to high, btw.) and one more "Association", or similar. This one shows the cores used with checkboxes which you can activate and deactivate. This procedure is not quite popular, but in no way did I invent it. A proper Google search should provide several hits. It was also mentioned in a thread on the LM forum (a year or so ago) which I participated in. I can't tell you why this procedure re-distributes load over the cores, I only can tell you it does. As I told you - and would like to repeat - there are differing opinions if this is good or evil. Actually, it does not "activate" the other cores, even without this procedure they should be running at around 50 % or so. As far as I know, these threads are mainly for texture loading, while the main thread (usually at 100%) does all the other work. Kind regards, Michael Intel i7-13700K / AsRock Z790 / Crucial 32 GB DDR 5 / ASUS RTX 4080OC 16GB / BeQuiet ATX 1000W / WD m.2 NVMe 2TB (System) / WD m.2 NVMe 4 TB (MSFS) / WD HDD 10 TB / XTOP+Saitek hardware panel / LG 34UM95 3440 x 1440 / HP Reverb 1 (2160x2160 per eye) / Win 11
February 4, 201610 yr Commercial Member There is a legacy trick to get all cores used at around 80-90% (on my system). After the sim is up and running, go into the task manager, enter the affinity/cores (or similar) entry, switch off core 1, quit okay, do the same once more, switch on core 1 again, make sure all cores are running again. Watch core usage. Be advised that LM does NOT approve this method (their argument was it would interfere with their threading mechanism). However, it gives me a couple of more fps, less fluctuations (yes I measered and recorded them) and no adverse effects, as far as I can tell. The more CPU throughput also gives the GPU more work. This can be automated using e.g. a batch file. Do it at your risk, however, given this does not modify the simulator configuration there isn't that much risk. Kind regards, Michael Hi Michael, You're correct, I just tested this and observed the results, you would see better performance that way. By starting the sim without an AffinityMask, and then by switching off LP0, then back on again, helps alleviate the problems associated with starting without an AM. This moves the jobs off LP0, gives job 1 a core to itself, no longer sharing with another job, then widens the affinity back to zero. When affinity is narrowed on the sim, multiple jobs are running on the same LP so as to make more work for that LP. The LPs look busier but achieve no further purpose since the main sim job cannot take notice of them all. Instead start the sim with an AffinityMask that already masks one of the first LPs. Better still, try starting the sim with an AffinityMask that enables just 4 LPs. I hate to say it, but I believe unfortunately this technique only works because the performance is poor before setting out. More cores and HT enabled makes it more apparent. There are better ways to improve performance, keep addons off the main sim thread and give it a core to itself. Steve Waite: Engineer at codelegend.com
February 5, 201610 yr Author I went back and played around a bit more, paying attention to framerates and other performance changes. Strange, that now I'm noticing more often that all of my cpu cores (4) are maxed or close... especially if in an F-22 Raptor at full speed across the landscape The apparent purpose (and I read this somewhere on this site I think) is that some cores will be tasked with loading and unloading textures. I have a theory I don't know if anyone else has already disproven... could it be that the transfer of rendering between cores, and from CPU cores onto the GPU is the bottleneck in most systems? That, because the rendering job is not all being done by one contained environment, it could be getting stuck momentarily or caught in a traffic-jam of sorts?
February 5, 201610 yr I went back and played around a bit more, paying attention to framerates and other performance changes. Strange, that now I'm noticing more often that all of my cpu cores (4) are maxed or close... especially if in an F-22 Raptor at full speed across the landscape The apparent purpose (and I read this somewhere on this site I think) is that some cores will be tasked with loading and unloading textures. I have a theory I don't know if anyone else has already disproven... could it be that the transfer of rendering between cores, and from CPU cores onto the GPU is the bottleneck in most systems? That, because the rendering job is not all being done by one contained environment, it could be getting stuck momentarily or caught in a traffic-jam of sorts? It's an interesting theory. A real eye-opener for me was when SteveW above said that there are three CPU consuming activities the simulator does: rendering, data transfer and simconnect. In the future, we will get mindblowing frame-rates when a bulk of rendering is done on the graphics card. That will mean the data transfer will be greatly cut down. The CPU will act as an over-all planner and coordinator of activities, rather than being the planner, manager and executor all in one. The benefit of going to the GPU is that people won't have to replace their machines, just by a cheap PASCAL GPU which can do bulk CUDA calculations onboard on 3D RAM. The bad news for P3D is that it needs to completely re-write the simulator. It is also not good news for Dovetails upcoming simulator, because they will be doing all their development on the old fashion CPU-GPU concept. If X10 had any brains, they would ramp up their development ten times as soon as the first PASCAL GPU's start shipping. They will then be ahead of the pack. Only my 2 cents.
February 5, 201610 yr Steve, if I understand correctly, Michael's technique would be unnecessary if one sets a correct AffinityMask entry within the sim's CFG? For example: I have an Intel 6700K with HT Off and set AffinityMask: 84 Is this the correct value for 6700K with HT Off ?
February 5, 201610 yr Commercial Member 4 core HT Off No AM =(1111) addons on 14=(1110) 4 core HT On AM=85=(01,01,01,01) addons on 248=(11,11,10,00) Steve Waite: Engineer at codelegend.com
February 6, 201610 yr SteveW... Could you provide the .CFG section titles and exact code for both the AM and Addons entries you suggest? thanks RMM
February 6, 201610 yr Steve, Currently I am running Fs with Unlimited fps. At a very detailed airport with locked at 30 or even 25 I am getting 17-23. With Unlimited 27+ ... Taxiing is smoother. However Large turns above multiple cloud layers with OC gives jitters. Could I use an external frameratelimiter to have the advantage of Unlimited with detailed scenery but with a higher lowest fps to avoid jitters ? Thanks 5950x3d 5.4-5.7 GHz - Asus ROG 870 Crosshair Apex - GSkill Neo 2x 24 Gb 6000 mhz / cas 26 - MSI RTX 5090 Gaming Trio OC - 1x SSD M2 6000 2TB - 1x SSD M2 2800/1800 1Tb - Corsair 5400 case - Corsair 360 liquid cooling set - 3x 75’ TCL tv. 13600 6 cores @ 5.1 GHz / 8 cores @ 4.0 GHz (hypterthreading on) - Asus ROG Strix Gaming D - GSkill Trident 4x Gb 3200 MHz cas 15 - Asus TUF RTX 4080 16 Gb - 1x SSD M2 2800/1800 2TB - 2x Sata 600 SSD 500 Mb - Corsair D4000 Airflow case - NXT Krajen Z63 AIO liquide cooling - FOV : 200 degrees My flightsim vids : https://www.youtube.com/user/fswidesim/videos?shelf_id=0&sort=dd&view=0
February 6, 201610 yr 4 core HT Off No AM =(1111) addons on 14=(1110) 4 core HT On AM=85=(01,01,01,01) addons on 248=(11,11,10,00) From what I understand... 4 core HT off - No AM required 4 core HT on - AM should be 85 What you mean by addons on 14 and addons on 248? Ted
February 6, 201610 yr Steve, Currently I am running Fs with Unlimited fps. At a very detailed airport with locked at 30 or even 25 I am getting 17-23. With Unlimited 27+ ... Taxiing is smoother. However Large turns above multiple cloud layers with OC gives jitters. Could I use an external frameratelimiter to have the advantage of Unlimited with detailed scenery but with a higher lowest fps to avoid jitters ? Thanks I've had the same problem and found out that it's mostly to do with AA rendering of the clouds. The stutters occurred when the GPU was peaking at 99%. Turning down AA to 4x solved that problem albeit with slightly less realistic looking clouds. I have a 970 so I cannot expect too much with AA settings. From what I understand... 4 core HT off - No AM required 4 core HT on - AM should be 85 What you mean by addons on 14 and addons on 248? Ted I believe he means to use 14 and 248 if you have addons running Shanan ASUS Z170 PRO, I7 6700K @ 4.85ghz (HT ON), ZOTAC AMP EXTREME 1080TI GTX (OC), 16 GB DDR4 G.SKILL TRIDENTZ RGB @ 3230MHZ CL 16-17-17-33 (OC) 4X SSDS : WIN 10 (NVME 960 EVO) + P3D + OTHER GAMES, 2X WD BLACKS RAID 0 + 1 SEAGATE BARRACUDA, CORSAIR AX860i PSU, CORSAIR 760T CASE (BLACK), 27 INCH IPS PREDATOR GSYNC 165HZ 1440p + 24 INCH IPS DELL 1080p, THRUSTMASTER HOTAS FCS THROTTLE + FCS16000M CORSAIR K95 RGB + CORSAIR M65 RGB + CORSAIR MM800 POLARIS RGB, CORSAIR H115i v2, CREATIVE GIGAWORKS 7.1 + ASUS D2X XONAR
Create an account or sign in to comment