Jump to content
Sign in to follow this  
ex_

Is it possible to get stable 60FPS?

Recommended Posts

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

Share this post


Link to post

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 

 

 


MSFS, Beta tester of Simdocks, SPAD.neXt, and FS-FlightControl

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

Share this post


Link to post

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

Share this post


Link to post

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

Share this post


Link to post

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


MSFS, Beta tester of Simdocks, SPAD.neXt, and FS-FlightControl

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

Share this post


Link to post

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.

  • Upvote 1

Steve Waite: Engineer at codelegend.com

Share this post


Link to post

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?

Share this post


Link to post

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.

Share this post


Link to post

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 ?

Share this post


Link to post

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

Share this post


Link to post

SteveW...

Could you provide the .CFG section titles and exact code for both the AM and Addons entries you suggest?

thanks

RMM

Share this post


Link to post

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


13900 8 cores @ 5.5-5.8 GHz / 8 cores @ 4.3 GHz (hyperthreading on) - Asus ROG Strix Gaming D4 - GSkill Ripjaws 2x 16 Gb 4266 mhz @ 3200 mhz / cas 13 -  Inno3D RTX4090 X3 iCHILL 24 Gb - 1x SSD M2 2800/1800 2TB - 1x SSD M2 2800/1800 1Tb - Sata 600 SSD 500 Mb - Thermaltake Level 10 GT case - EKWB Extreme 240 liquid cooling set push/pull - 2x 55’ Sony 4K tv's as front view and right view.

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 - 1x 65” Sony 4K tv as left view.

FOV : 190 degrees

My flightsim vids :  https://www.youtube.com/user/fswidesim/videos?shelf_id=0&sort=dd&view=0

 

Share this post


Link to post

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


PMDG_737ngx_proud_own1_378x68.jpg ftx_supporter_avsim.gif

Share this post


Link to post

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

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  
  • Tom Allensworth,
    Founder of AVSIM Online


  • Flight Simulation's Premier Resource!

    AVSIM is a free service to the flight simulation community. AVSIM is staffed completely by volunteers and all funds donated to AVSIM go directly back to supporting the community. Your donation here helps to pay our bandwidth costs, emergency funding, and other general costs that crop up from time to time. Thank you for your support!

    Click here for more information and to see all donations year to date.
×
×
  • Create New...