October 25, 201510 yr Commercial Member Probably the biggest reason to reserve core 1 is that, in most cases it is where the UI thread is running. Regards jja Jim Allen[email protected]SkyPilot Software home of FSXAssist / P3DAssist
October 25, 201510 yr Author Is there a tl;dr version? I see a bunch of these types of, pardon the pun, threads pop up every now and then but there's never really a consensus. From the OP, I document how I came to stabilizing my frame times with the following conclusions. The Bottom Line:The default setting of no affinity mask sucks. i5 users are probably not affected by it, but those who do have an i7 are subjected to very poor frame rates and rendering stability. Hyper-threading on or off makes no difference, as long as an appropriate AF is applied. I see no advantage in using 3 cores to free up one processor for background applications. It's best if you just just limit background applications, and run on all four cores. Use the internal frame limiter! Frame stability depends on the internal frame lock. Unlocking the frames creates horrendous micro-stuttering. An external frame limiter does not alleviate the problem. Overclock your CPU. The increases in frame stability and average frame rates are quantifiable. If you still see some stutters, then temporarily lower your LOD_Radius until you are in a more suitable area to return it to the max value. Higher LOD values seem to be responsible for the longest frames, and it's probably due to the CPU just being swamped. An additional conclusion may be that lowering the FFTF seems to increase frame stability and FPS, but only to a certain point before textures do not have enough time to render. As for consensus, there is no consensus on how a flight simulator will perform on an individual system, and there probably will never be one because of huge number of hardware and software combinations. Reaching a consensus is not the goal here, but instead the goal is to shed some light on how one can analyze their performance with quantifiable evidence to help improve their experience, as I did. Very interesting testing you've done there Daniel. [..] The long spikes in frame times you are seeing appears to be of the same origin as in FSX. This is what I found out about them. "Adam gives a good clue in his terrain paper: "Since the rendering pipeline (Direct3D in this case) uses 32-bit floats, the final coordinates used for rendering must be converted to 32-bit offsets from a 64-bit local origin no more than several thousand meters away... ...As the viewpoint moves through the world, the local origin must be periodically updated to keep it within a few kilometers of the viewpoint. Otherwise, a loss of precision results making the terrain vertices appear to wiggle around as the viewpoint moves, an interesting but obviously undesirable outcome. Whenever we update the local origin, all the vertex buffers in every cell of the quad tree must be recomputed relative to the new origin. As this can take several frames, the new vertex data is double buffered and then made active only when all are ready to avoid visible cracks." Its FSX terrain engine at work recalculating the vertex buffers. The 3 factors that have a big effect on this vertex update stutter, the most noticeable and longest of all stutters, are BP=0, LOD value and CPU speed. A faster CPU reduces this stutter." The recalculation of the vertex buffers in FSX happens on the CPU as the GPUs of the time didn't have good FP64 support if they even had it. Given that the CPU speed still affects it a lot it seems like it's still done on the CPU in P3D. The higher the LOD, the more vertices you'll have and the more work for the CPU to keep them updated as you fly along. I believe BP=0 is already implemented in P3D. [...] It's interesting to see that locked frames inside P3D generates less microstutter vs unlocked. They have obviously worked on it. In FSX it was the opposite, but in FSX you can remove the visible microstuttering by using 1/2 rate v-sync and locking to 30FPS in fullscreen. (you can still measure it with FRAPS but what's actually displayed is a butter smooth experience as long as the vertex stutters don't get too high) I believe 1/2 rate v-sync does nothing for P3D as its fullscreen mode is actually a borderless Window and therefore 1/2 rate v-sync doesn't work. Very enlightening! Thanks for sharing. My CPU i7 5820k oc 4.6GHz + SLI 980 runs v3 best with HT OFF + AM=0 + FFTF=0.01. Thanks for your kind words about FMX. With HT off and no AF mask, you are essentially running P3D on all the physical cores, which is similar to my conclusions. I see you used AF = 1364, which runs P3D on five physical cores, leaving the last physical core for the system processes, and you had similar performance to that of no hyperthreading off, which also seems to share with my conclusions that Hyperthreading shouldn't matter as long as a proper AF mask is set. With the FFTF tweak, I see you also get better performance. Nice! Do you use a frame lock at all, or are you running unlimited? Daniel Moser
October 25, 201510 yr With the FFTF tweak, I see you also get better performance. Nice! Do you use a frame lock at all, or are you running unlimited? No i dont but i tried it with different lock settings. No matter what i set i ended up having 20-25 stuttery FPS so i dumped the internal frame lock and went back to unlimited. I used unlimited also in v2.x. Sometimes i turn down my beamers refreshrate to 30Hz which gives me a quite smooth ride. With AMs of 62 (HT OFF) and 1364 (HT ON) i didnt get better results than with AM=0 so i left banned AM from the cfg for now. By the way i tested also areas like FTX PNW with FSDT CYVR in the Carenado F406 as well as the Hawker 850XP around Flightbeams KPHX. Both scenarios gave me, for my personal use and understanding, an unsatifactory outcome in v2.5. In v3 differnt story smooth high 30s FPS. I might try v2.5 again with HT off to check the result. To say i was very satisfied with v2.x and aim now even more satisfied with v3. Coming up next is playing with texture compression of som HQ aircraft add ons Keep up your good work and your contribution. Greetz MJ My youtube blog________________________Prepar3D v2.5/v3
October 25, 201510 yr FFTF 0.1 gives me also very stable frames in P3D V3 but sudenntly my OOM Problem seems to be back. After i tougt i found the problem related to HT i tried my first long haul over the pond LIMC - KJFK and now 700 NM out of KJFK sudenlty P3D took 300 MB VAS avay so i droped from 550 about 280 MB. Dont know why because i used NAT Track D which means i`m still only over the ocean. And the weather is not very cloudy :( C. W. ,Ryzen 9 5950X @H2O , 32 GB RAM DDR4 3600 Mhz CL15 , Corsair MP600 Pro Watercooled 2 TB for P3D, Samsung SSD980 1 TB for Addons and Crucial MMX500, Red Devil Ultimate 6900 XT
October 26, 201510 yr Hi, I just would like to confirm my former quantitative claim getting opposite results to Daniel, the OP, by a couple of quantitative curves. This was a short circuit over FB KSFO HD, FTX Global Base installed, nothing else in the area (yet). Prepar3d3. FPS limited to 20 internally, no Vsync. 1. HT off, no AM applied 2. HT on, AM=85 Perhaps I wouldn't care, if our systems were very different, but they aren't. I use an i7-2600 and my graphics adapter is a GTX760 being comparable as well. I am using the Alabeo C172. Same two config modifications as in post # 1, no FFTF. Recordings were done using (freeware) SimlauncherX http://www.avsim.com/forum/722-simlauncherx/ providing a host of running values like fps, CPU/GPU usage, VAS etc. You can directly export any curve to pdf or some other formats (CVS, Excel...). Now, here are some differences I noted: - Daniel uses a high overclock, I use just stock clock. - Danies uses ASN weather, I use the "Fair Weather" theme - Daniel (supposedly) uses the VC(?), I don't use any panel on display at all, only scenery, as I own a hardware panel - Daniel uses 4k textures, I use 1k only - Daniel has frames locked to 30 fps, mine are locked to 20 fps (I can't continually hold 30 fps in the KSFO area) - Daniel has HDR on, I have it off (shouldn't matter) - I have all scenery sliders at the right, except mesh (5m) - Daniel has Water at Medium, I have it at Ultra - Daniel doesn't use AI traffic, I use UT2 traffic (around 50% GA/Airliners) - Daniel has a few NI settings noted above, I didn't have any in the test. Forget about the spike at the beginning of HT on, it's a switch-on effect. The spikes towards the end in both diagrams are during landing when the airpoirt buildings are about to enter the sight. I am still puzzled by just the opposite result. 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
October 26, 201510 yr Pmb I have the exact same hardware except for OCing the i2600 to 4.2GHz with a cooler and I run ASN as well. In your test, how maxed out is the first CPU core P3D uses? Perhaps when the I2600 is OC'd the lower CPU load helps the processor to offload to the GPU to maintain FPS. I think HT tests might not work so well if the first core used is at or close to 100% because the CPU probably starts to have trouble running all the threads smoothly. I do my micro-stutter tests with the first core at roughly 50% load and same for the GPU.
October 26, 201510 yr I did some test last night and on my I7-4770K@4,6GHZ HT Off i have best results with AM=15 and unlimited fps using PMDG products.I use Vsync and triple buffering . FB KSFO HD 2048 textures is so butter smooth in the 777 . Mainly because i have between 29-41fps all the time i guess.Now at EGLL with limited FPS at 30 it is a stutter fest at 15-18 fps.I also still believe that winter time gives me a better smooth experience .Michael Moe Michael Moe
October 26, 201510 yr Commercial Member AM - FFTF - AF ? What are these settings and how are they used or inserted into the config? I assume AF is Afinity Mask so what would I set it to with HT on using a 5930k cpu and is it already in config or does it and the other settings have to be added to the config ? Paul Grubich 2017 - Professional texture artist painting virtual aircraft I love. Be sure to check out my aged cockpits for the A2A B-377, B-17 and Connie at Flightsim.com and Avsim library
October 26, 201510 yr Author I am still puzzled by just the opposite result. Kind regards, Michael Certainly is puzzling Michael. In both cases, you are just running P3D on all of the physical cores. To P3D, it would look like the exact same CPU configuration. I did some test last night and on my I7-4770K@4,6GHZ HT Off i have best results with AM=15 and unlimited fps using PMDG products. I think there are a few other reports that unlimited frames work best with PMDG 777 if v-sync and triple buffering are used. I can't test that since I haven't purchased the PMDG stuff outside of the MD-11X. so,a short question: what AM should i set for 3970x ? I think 1364 to have only P3D to run on 5 of the 6 physical cores, leaving one core free to do other stuff, or 2730 if you want to run on all of the 6 physical cores. 170 if you just want to run on four cores. AM - FFTF - AF ? What are these settings and how are they used or inserted into the config? I assume AF is Afinity Mask so what would I set it to with HT on using a 5930k cpu and is it already in config or does it and the other settings have to be added to the config ? AM = cpu affinity mask. I sometimes call it AF for affinity, but it's the same thing. FFTF = fiber frame time fraction, or the fraction of the time used to process each frame that you want dedicated to rendering. Lowering it seems to boost FPS and reduce stuttering, but if it's too low, then the frame does not render fully, leaving out autogen and blurring terrain textures. For a 5930k, I would follow the above advice for the 3930k, or test yourself to find the optimum settings. Daniel Moser
October 26, 201510 yr Commercial Member Thanks, what is the exact wording for each (AM and FFTF) that I need to put into the config? Paul Grubich 2017 - Professional texture artist painting virtual aircraft I love. Be sure to check out my aged cockpits for the A2A B-377, B-17 and Connie at Flightsim.com and Avsim library
October 26, 201510 yr Pmb I have the exact same hardware except for OCing the i2600 to 4.2GHz with a cooler and I run ASN as well. In your test, how maxed out is the first CPU core P3D uses? Perhaps when the I2600 is OC'd the lower CPU load helps the processor to offload to the GPU to maintain FPS. I think HT tests might not work so well if the first core used is at or close to 100% because the CPU probably starts to have trouble running all the threads smoothly. I do my micro-stutter tests with the first core at roughly 50% load and same for the GPU. I didn't check in this test not to disturb measurement. However, I would surmize core 0 running at 99% in both cases from previous tests. There are two way to prevent this I know of: - You can lower your settings. I don't want this (as, actually, I am quite content with the way P3D3 is running and looks on my system). - You can switch cores while the simulator is running, say core 0 off and on again. This is well-known to level load, but LM advises against it as it destroys the internal threading mechanism. BTW, my GPU is running close to full load as well. Which can be easily ameliorated e.g. by lowering the shadow map setting (or by buying a better GPU :smile: . 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
October 26, 201510 yr Certainly is puzzling Michael. In both cases, you are just running P3D on all of the physical cores. To P3D, it would look like the exact same CPU configuration. I think there are a few other reports that unlimited frames work best with PMDG 777 if v-sync and triple buffering are used. I can't test that since I haven't purchased the PMDG stuff outside of the MD-11X. I think 1364 to have only P3D to run on 5 of the 6 physical cores, leaving one core free to do other stuff, or 2730 if you want to run on all of the 6 physical cores. 170 if you just want to run on four cores. AM = cpu affinity mask. I sometimes call it AF for affinity, but it's the same thing. FFTF = fiber frame time fraction, or the fraction of the time used to process each frame that you want dedicated to rendering. Lowering it seems to boost FPS and reduce stuttering, but if it's too low, then the frame does not render fully, leaving out autogen and blurring terrain textures. For a 5930k, I would follow the above advice for the 3930k, or test yourself to find the optimum settings. thanks for ur response fast.can u pls give me some specific setting for my h/w like vsyn,tripple buffering,frame limiting in game or using ni. i am tending to use all 6 cores & locked 30fps.i am already using FFTF=0.01 which gave me huge fps boost(yes i know about autogen building,but i don't care about the building anyway.).my only concern is stuttering & fps stabilization. Muntasir Ahmed
October 26, 201510 yr Author Thanks, what is the exact wording for each (AM and FFTF) that I need to put into the config? Last two in this article show the locations and exact wording. http://www.prepar3d.com/SDKv2/LearningCenter/getting_started/performance/tuning_guide.html It's up to you to choose which AM or FFTF you would like to use. thanks for ur response fast.can u pls give me some specific setting for my h/w like vsyn,tripple buffering,frame limiting in game or using ni. i am tending to use all 6 cores & locked 30fps.i am already using FFTF=0.001 which gave me huge fps boost(yes i know about autogen building,but i don't care about the building anyway.).my only concern is stuttering & fps stabilization. Well, experiment with the affinity masks I provided for you, and see which settings (four-core, five-core, or six-core) give you the smoothest experience. I go with locked FPS because my results clearly show strong micro-stuttering with unlocked frames, regardless of any external frame limiting, v-sync, or triple buffering I try to implement via Nvidia Inspector. If you are comfortable with overclocking, then I would also pursue that option, as higher CPU clock speeds have greatly increased frame stability. Daniel Moser
October 26, 201510 yr Last two in this article show the locations and exact wording. http://www.prepar3d.com/SDKv2/LearningCenter/getting_started/performance/tuning_guide.html It's up to you to choose which AM or FFTF you would like to use. Well, experiment with the affinity masks I provided for you, and see which settings (four-core, five-core, or six-core) give you the smoothest experience. I go with locked FPS because my results clearly show strong micro-stuttering with unlocked frames, regardless of any external frame limiting, v-sync, or triple buffering I try to implement via Nvidia Inspector. If you are comfortable with overclocking, then I would also pursue that option, as higher CPU clock speeds have greatly increased frame stability. just reporting that affinity mask setting of 1364 & 2730 didn't work for me.i only saw one core using 100%however the core changes while i switch between 1364 or 2730. thanks for your time on the analysis.but,i think i will leave the af as it is bcoz i am already happy with the single tweaking of FFTF=0.01 in the config file. Muntasir Ahmed
Archived
This topic is now archived and is closed to further replies.