Jump to content
Sign in to follow this  
Zimmerbz

Locking Frame Rate

Recommended Posts

On 3/19/2018 at 6:20 AM, Gabe777 said:

 

If I get one, and say it runs at 144 hz., how would I set it all up to run at a max of 60 fps, but not tear or stutter when it drops to the high 40s and 50s ?

.........presumably G sync is set up in the nVidia CP, so what does one do about vert sync and TB and FPS limit, in sim ?

..................Now, there's a question !!!

 

As someone with a 144hz monitor, I'm curious about this as well.  Currently run Unlimited but with Vsync and TB on.  Usually good performance but there are times stuttering will occur.  Do i turn vsync and TB off?  


Jason Weaver - WestWind Airlines; FlyUK Airlines; VirtualUnited.org

5.jpg

Banner_MJC12.png

Share this post


Link to post

Steve, so you recommend locking the frame rate in the NVIDIA control panel?  Set it to what?  60 Hz?  30Hz?

  • Like 1

Share this post


Link to post

You can try that. It's actually a frame-limiter rather than a frame-lock so can work with VSync=On. With locking on the slider you don't see frames exceed the limit but also it introduces look ahead so that each frame is made for a particular period. Otherwise each next frame is timed for the average of the last few frames, so with VSync=On you see frames wobble above the limit, therefor the external limit can work.


Steve Waite: Engineer at codelegend.com

Share this post


Link to post
On 7/17/2018 at 7:14 PM, SteveW said:

You can try that. It's actually a frame-limiter rather than a frame-lock so can work with VSync=On. With locking on the slider you don't see frames exceed the limit but also it introduces look ahead so that each frame is made for a particular period. Otherwise each next frame is timed for the average of the last few frames, so with VSync=On you see frames wobble above the limit, therefor the external limit can work.

Steve, I noticed a few things recently, using P3D v4.3. I use a 4k TV as the P3D monitor currently at 60 Hz (even though 30 Hz was great smoothness wise the mouse pointer was horribly lagged and I couldn't stand it). My video card is a 1080TI with some extra overclock.

I've been using for months the unlimited frame lock of P3D but with the 30 FPS frame limiter of NVI which apparently used to give me great smoothness with the advantage of not having the mouse pointer so lazy.

But then I noticed that my autogen was pretty lacking in this configuration, and even when it showed up, it would take lots of time to show up. In a final approach with a jetliner it is an issue, because it kills immersion with all those autogen showing up when were low above them.

Then I tried removing NVI limitation and setting 30 FPS lock within P3D. Autogen issue apparently vanished right away, it seemed to be perfectly populated with enough anticipation so it wouldn't kill immersion...but...microstuttering has showed up in turn.

Is this correct in your opinion? What approach could be adopted in order to balance these issues?

I also noticed that Core Zero went frequently to 100% load when locked internally to 30 FPS, not sure if taking the addons out of that core (some of them I could put in a batch file with the proper affinity command) would help noticeably, but seems like would not.

Thanks!

Edited by Wanthuyr Filho
  • Like 1

Best regards,

Wanthuyr Filho

Instagram: AeroTacto

Share this post


Link to post

You've summed it all up very well. We all have to find the right compromise. Locked using more cycles because of making look ahead frames. If you got HT on and no AM then you use too much core zero (you only want to see one LP lit up and stay below 98% so it's best to map out one LP for that first core used by the sim. Set addon exe's off on later cores away from the first cores. That way you get maximum throughput for the main P3D thread. Then find the compromise between:

1. Locked. Will require lower fps - locked is for lower fps - because it's much more stable for that but requires high performance. Not so important when time between frames diminishes with faster frame-rates.

2. VSync=on + Unlimited and Set the monitor refresh to a mouse acceptable rate.

3. VSync=on + Unlimited and Set NVI to frame limit.

 

Edited by SteveW

Steve Waite: Engineer at codelegend.com

Share this post


Link to post
13 hours ago, SteveW said:

You've summed it all up very well. We all have to find the right compromise. Locked using more cycles because of making look ahead frames. If you got HT on and no AM then you use too much core zero (you only want to see one LP lit up and stay below 98% so it's best to map out one LP for that first core used by the sim. Set addon exe's off on later cores away from the first cores. That way you get maximum throughput for the main P3D thread. Then find the compromise between:

1. Locked. Will require lower fps - locked is for lower fps - because it's much more stable for that but requires high performance. Not so important when time between frames diminishes with faster frame-rates.

2. VSync=on + Unlimited and Set the monitor refresh to a mouse acceptable rate.

3. VSync=on + Unlimited and Set NVI to frame limit.

 

Interesting, I haven't tried VSync ON, but does it really worth it since P3D is not a real full screen application? Again, I'm not willing to return the refresh rate to 30 Hz, so my options are limited to 60 Hz...

One other thing, considering the locked FPS scenario, is it possible to move the hard bitten core away from the core zero? Say, for example, I'd like P3D to use the core five as the main one, instead of zero, is it possible? I'm asking this because I think (might be wrong though) core zero would be free to process textures AND addons and Windows process, etc. In summary, seems like the overall balance would be better this way.

I forgot to mention, my 8700K @ 5.0 is running HT off.

What do you think about NVI frame limit = 30 and P3D frame lock at 31 - or 35 - or 60? Would it help autogen loading more properly? Blurries I don't have (except for the GSXv2 issue).

Thanks again!


Best regards,

Wanthuyr Filho

Instagram: AeroTacto

Share this post


Link to post

 

5 hours ago, Wanthuyr Filho said:

is it possible to move the hard bitten core away from the core zero? Say, for example, I'd like P3D to use the core five as the main one, instead of zero, is it possible? I'm asking this because I think (might be wrong though) core zero would be free to process textures AND addons and Windows process, etc.

Hi Wanthuyr,

Yes, it’s possible, but I think you will be very disappointed with the outcome.

8700K is a 6 Core CPU and you have elected to disable HT to achieve the higher overclock without overheating the CPU.

To assign the 5th and 6th Cores to Prepar3D:

Affinity Mask [ Binary = 110000 ]

The main thread will run on Core 4 (reading from right to left the first Core is Core 0.

Using Notepad++ add the following 2 lines to the top of Prepar3D.cfg:

[JOBSCHEDULER]
AffinityMask=48

Now run Prepar3D.....

2 Cores is not enough! Better you try masking 4 Cores for Prepar3D while reserving Cores 0 and 5 for other tasks.

Affinity Mask [ Binary = 011110 ]

[JOBSCHEDULER]
AffinityMask=30

Or, AffinityMask=15 (001111)

If you wish to experiment with other patterns then I can recommend this web page: http://www.gatwick-fsg.org.uk/affinitymask.aspx?SubMenuItem=hardware

Have you tried running with HT=ON? This would give you 12 Logical Processors to play with. It’s likely you may have to accept a lower clock on your 8700K unless your cooling solution can handle it.

Regards,

Mike

 

 

 

Share this post


Link to post

Hi Mike!

Hmmmm, this is not quite what I was thinking about, I was thinking about using absolutely all cores for P3D, because I have already noticed that it does make a very good use of them all, and I suppose that even only one core lacking for P3D will be a bad thing. What I was asking was about just moving the main thread (not the texture threads if you will) from core zero to core five, for example, because I'm assuming that all other processes (including addons, services, Windows basic processes, etc) will eventually be allocated mostly to core zero. Not sure if this makes sense though.


Best regards,

Wanthuyr Filho

Instagram: AeroTacto

Share this post


Link to post
11 hours ago, Wanthuyr Filho said:

Interesting, I haven't tried VSync ON, but does it really worth it since P3D is not a real full screen application? Again, I'm not willing to return the refresh rate to 30 Hz, so my options are limited to 60 Hz...

Vsync in P3D is not the vertical sync you remember from CRT days.

Vsync=On in P3D is simply saying that the "Monitor Refresh Frequency" will be targeted for output fps rate.

Don't confuse P3D VSync with vertical sync.

 

3 hours ago, Wanthuyr Filho said:

Hi Mike!

Hmmmm, this is not quite what I was thinking about, I was thinking about using absolutely all cores for P3D, because I have already noticed that it does make a very good use of them all, and I suppose that even only one core lacking for P3D will be a bad thing. What I was asking was about just moving the main thread (not the texture threads if you will) from core zero to core five, for example, because I'm assuming that all other processes (including addons, services, Windows basic processes, etc) will eventually be allocated mostly to core zero. Not sure if this makes sense though.

Another mis-conception of how the operating system works.

There's no favoured core and Windows uses cores that are less used.

 

These concepts are misunderstood a great deal unfortunately.


Steve Waite: Engineer at codelegend.com

Share this post


Link to post

So looking at VSyn=On in P3D:

VSyn=On works with Unlimited or fps slider set to zero.

What it does is take the frequency of your monitor refresh to ascertain the next position and location of the objects and scenery in each new scene (or frame).

So looking at the output we see the fps "wobbles" around your monitor refresh frequency. This is because each frame takes a different time to build.

 

Now let's look at Locked fps on the slider.

The Simulator builds look-ahead frames, each one accurately timed for each pre-determined interval (or frame period).

To do that requires a frame in hand at all times. Since the system is inherently wobbly anyway those frames are depleted and must be replenished or the system falls back to showing the current frame and performance is lost to it drawing  parts of the look-ahead that are lost - giving rise to worse apparent performance with locked ion the slider. The system needs to be showing at least double the intended locked fps or performance will suffer as the look-ahead is never completed..

This used to be referred to as "a bug" by "experts" especially back in FSX days, but in fact it is how it operates and is another unnecessary point of confusion.

 

.

 

 

Edited by SteveW

Steve Waite: Engineer at codelegend.com

Share this post


Link to post

"Another mis-conception of how the operating system works.

There's no favoured core and Windows uses cores that are less used."

 

Steve can you please explain why when running P3D V4.3 I get Core0 (with HT or not) running at 100% and all others no more than 20%, following your comment all should be around the same..

 

Jorge

Share this post


Link to post
3 minutes ago, aeronauta said:

"Another mis-conception of how the operating system works.

There's no favoured core and Windows uses cores that are less used."

 

Steve can you please explain why when running P3D V4.3 I get Core0 (with HT or not) running at 100% and all others no more than 20%, following your comment all should be around the same..

 

Jorge

No they should not - how possibly does that compute?

Why do you think my comment suggests they should all be the same? Another mis-conception just arrived...

 

 

 

 

 

  • Like 1

Steve Waite: Engineer at codelegend.com

Share this post


Link to post
54 minutes ago, SteveW said:

There's no favoured core and Windows uses cores that are less used.

Means: if I fire up P3D resulting in Core 0 being the most used, I can easily let Windows decide where to run addons such as ActiveSky etc, because Windows will never run them on Core 0 that is already occupied to 95% by Prepar3d? So, there is actually no need to assign addons to other cores?

  • Like 2

Greetings, Chris

Intel i5-13600K, 2x16GB 3200MHz CL14 RAM, MSI RTX 4080 Gaming X, Windows 11 Home, MSFS

Share this post


Link to post

That's correct. But if we "corrall" those addons to a core subset when they start the resources they invoke will remain on their pre-assigned cores.

 

In answer to Jorge - your 100% is the main renderer and that should be set to around 90% so you have overhead in the system. You will find that Windows uses all cores effectively.


Steve Waite: Engineer at codelegend.com

Share this post


Link to post

Can anyone imagine how stupid Windows would be to want to use, or claim preferred use of, "core zero" - or any core for that matter? Doesn't work like that and doesn't make sense to work like that.


Steve Waite: Engineer at codelegend.com

Share this post


Link to post
Guest
This topic is now closed to further replies.
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...