Jump to content

TBM Performance Issues (Pictures tell a thousand words)


WaarEagle
 Share

Recommended Posts

In addition to my response in another thread, I wanted to post some screenshots comparing the TBM's performance to other aircraft in X-Plane.  The first is the lightweight C172, the second is the hard-hitting FF A320, and the third is the TBM.  The setup is identical for all 3 aircraft: Same parking spot, same time, same weather, same add-ons, etc.  The sim is running full-screen, 1920X1080, with frames locked at 30 using 1/2 refresh rate vsync in the driver.  The pinkish orange line is the visual refresh rate, while the darker orange line is the background "simulator" refresh rate.  I'm thinking that it's the background processes that are leading to the visual stuttering/jerkiness (even though I'm still maintaining 30 fps on average).  As I said in my previous post, I'm not looking for an immediate remedy... just trying to document what appears to be a significant problem (never had it before the versions released this year).

Cessna_172SP.jpg

A320.jpg

TBM900.jpg

Edited by WaarEagle
Link to comment
Share on other sites

Your log reflects what I suspected.  You have a lot of scenery plugins running that, combined with the TBM's own systems, could be causing the stuttering.  Custom scenery is very rarely flawless.  Couple it with ground traffic, and the potential for problems multiplies exponentially.  

I realize you compared the TBM to the default C172, but that is a very polarizing comparison.  You're comparing a default add on, that contains a small handful of LUA code to something with over 300 000 lines of C++ code.  I'm not saying there will be absolutely no stutters.  The more customization there is, the more the CPU needs to work. there really is no way around that with an add on as complex as the TBM.  But steps have been taken to minimize any stuttering issues.

A true test would be to test the TBM in a completely bare bones installation with no custom scenery (particularly with no scenery plugins).

Link to comment
Share on other sites

I didn't just compare it to the C172, I also compared it to the FF A320 which is every bit as complex (if not more so) than the TBM.  Scenery should make no difference unless one is inside a highly complex scenery area; but if it puts that argument to rest, I'll go ahead and clean out my custom scenery folder and report the results in a couple of days.

Link to comment
Share on other sites

I'm not prepared to go into a TBM vs (insert add on here) debate and which is better/more complex/etc...

There is a lot going on under the hood of the TBM, and although I do see the spikes in your graph, you haven't mentioned the variation in fps.  I just tested this myself, and the spikes in my graph represent a variance of no more than 2fps on an average of 40fps on X-Plane 11.41. 

This variation is more than acceptable for me.  Why are the graphs smoother in the 172 and FF A320?  I have no idea.  I don't know how the A320 is coded, and it's likely I never will.  I do know what the TBM has that the A320 doesn't, and this may have an effect on the fps.  But again, I don't know.  

Of course, we COULD take some features out, and it would reduce the stuttering dramatically, but that would defeat the purpose of what we're trying to accomplish with the TBM.  

Link to comment
Share on other sites

Okay... last test.  All plugins disabled except gizmo, scenery is completely default, and positioned at an airport in the middle of Kansas with no 3-D buildings (about as flat and isolated as you can get in the U.S.).  I even turned the scenery complexity down to minimal before taking the screenshot.  I'm still getting the sawtooth performance curve.  Notice that both the screen frame rate and the sim frame rate average 30 (they'd probably be pushing 100 if I disabled vsysnc); but the sim frames are down and up, down and up, etc. - this is what causes the micro-stutters (and no, I do not consider a 2 fps variance "more than acceptable" - that's the whole reason I and a lot of other people limit frames to 30 in the first place).  I'm not just talking about the occasional hesitation here and there... it is constant and consistent.  All I can figure is there has got to be some rogue process in the TBM that is executing some really heavy duty instructions in a loop (and it even does it when the aircraft is completely powered down).  Keep in mind, the TBM has not always acted this way... it was much smoother before the most recent updates.  Like I said, I'm not asking for an immediate fix; but I do hope it eventually gets fixed... because it's a problem (the graphs don't lie).  Now excuse me while I go put my X-Plane installation back together.

 

TBM900_Bare.jpg

Log.txt

Link to comment
Share on other sites

3 hours ago, skiselkov said:

Disable VSync and let's see where the framerate falls. I bet it's because your sustainable framerate is somewhat below 30 fps in the TBM, which results in the driver being unable to make up its mind and jumping between 20 fps and 30 fps.

Actually, disabling Vsync was one of the first things I tried when troubleshooting the long frames; but it didn't have much effect, so I didn't mention it.  I just ran the identical scenario (middle of nowhere with minimal 3-D objects) without Vsync and averaged 50 fps; but there were still long frames due to the background fluctuations.  I understand what your saying; but I don't think it applies in this case.  I find it interesting that Goran asked why I prefer to lock at 30 (on a 60 Hz monitor).  Is the concept familiar to you or do I need to provide more explanation?

TBM_novsync.jpg

Link to comment
Share on other sites

We're trying to figure this out, and after further testing with Saso, I found the C172 (my small, default aircraft of choice) and the 747 (my large, default aircraft of choice), both have identical spikes and stuttering to the TBM.  I'm not really certain why the default C172 is not giving you stuttering, but see my images below of each aircraft.  Just an FYI, I'm aware of the locking at 30fps reason.  But for me, I obviously don't place as much importance on it as you may.  Different strokes for different folks, I guess.

I'll leave this to Saso to continue to diagnose, because this seems like a sim issue to me.


TBM

Screen Shot 2020-05-15 at 9.30.04 pm.png

Default C172

Screen Shot 2020-05-15 at 9.38.20 pm.png

Default 747

Screen Shot 2020-05-15 at 9.40.45 pm.png

Edited by Goran_M
Link to comment
Share on other sites

11 minutes ago, Goran_M said:

We're trying to figure this out, and after further testing with Saso, I found the C172 (my small, default aircraft of choice) and the 747 (my large, default aircraft of choice), both have identical spikes and stuttering to the TBM.  I'm not really certain why the default C172 is not giving you stuttering, but see my images below of each aircraft.

Okay... let me try to explain.  This is somewhat technical so I'm going to to simplify some things (I don't really want to address topics like frame buffers, latency, etc.) and hope I don't misspeak as a result.  The reason you are seeing long frames (which is the proper term for a micro-stutter) with all your aircraft is because you are not limiting your frame rate.  Without a limit, X-Plane will produce the best frame rate it can based on the complexity of the scenery, graphics settings, type of aircraft, etc.  This may be 50 fps at times, it may be 40, it may dip into the low 30s if the scenery gets really complex.  Now consider your computer monitor.  A standard monitor will have a fixed refresh rate measured in Hertz (Hz - cycles per second).  Most mainstream monitors have a refresh rate of 60 Hz - meaning it can deliver a moving image at 60 fps.  High-speed gaming monitors can go up to 144 Hz (or even higher) for even better performance capability.  Now, to achieve ideal results, the frame rate delivered by the sim and video card needs to be EXACTLY identical to the refresh rate of the monitor... and I mean EXACTLY.  If you have a 60 Hz monitor, the ideal frame rate is 60... not 59... not 61!

Let's look at one 'second' in the life of an X-Plane flight.  Assume that during that second, X-Plane is able to send 45 different images to the video card, producing an fps of 45.  The problem is that the monitor is demanding 60 fps because it's not going to slow down just because X-Plane can't keep up.  To compensate, the video card is forced to make up for the difference by delivering an identical image multiple times until it gets a new one from X-Plane to send.  Any time an image is used more than once, a long frame results... which is perceived as a pause.  The more consecutive times an identical image is sent, the longer the pause and the more noticeable it will be.  There is also the opposite case.  Let's say you have a super computer and X-plane can provide 100 fps to the video card; but the monitor can only accept 60 of them.  In this case, some of the images that X-Plane worked so hard to produce are abandoned before they can be fully drawn... this often results in screen-tearing where the top half of the screen is a tiny bit out of sync from the bottom of the screen.  This is not usually a major issue because it's nice to have really fast frame rates from the sim and the tearing can be eliminated with Vsync... it's just a slight waste of resources.  I'll talk more about Vsync later.

Usually, when people complain about frame rates, they are not actually complaining about frame rates!  They are really complaining about a lack of consistency in the frame rates (stutters, long frames or micro-stutters, judders, etc.).  Sure, if fps dips below around 24, the sim progressively starts to resemble more of a slide-show than a motion picture; but using today's modern hardware, frame rate variability tends to be a more common issue.  Let me state an indisputable FACT here:  Anyone using a standard 60 Hz monitor that is not achieving a constant 60 fps in X-Plane is NOT getting a perfectly smooth frame rate!  Any time the fps is less than the monitor refresh rate, there are going to be long frames (micro-stutters)... it's just simple math.  I always get a chuckle when someone claims they are getting a "butter smooth" experience at 35 fps on a standard monitor; because in reality (unless they have a 35 Hz monitor or are using G-Sync/FreeSync or an equivalent technology) it's mathematically impossible... each second, the video card is going to have to compensate for 25 missing images in the form of long frames.  If those frames are dispersed uniformly, it will be a lot less noticeable than freezing the scene all at once for 25 consecutive frames (a true stutter); but it will never be truly smooth.  One day, the hardware will advance enough to guarantee a consistent 60 fps in our sims regardless of the aircraft and scenery we throw into it; but that day has not yet arrived.

For those like me that value a consistent frame rate above just about anything else, we had to come up with a method to conquer the mathematical reality of long frames.  The best way is to limit the frame rate provided by the sim using a simple formula: (monitor refresh rate / integer).  For a standard 60 Hz monitor, these target frame rates would be 60 (60/1), 30 (60/2), 20 (60/3), 15 (60/4), and so on.  What's interesting is that for any rate less than 60, this solution doesn't eliminate long frames (it usually increases them!); but it creates a situation where every frame is the same duration, which guarantees a truly smooth experience.  In my situation, I am nowhere close to being able to maintain 60 fps in X-Plane all of the time, so I drop down to the next target (30) which I can sustain in almost every situation.  In essence, locking frames at 30 makes every frame a "double" long frame.  Is 30 fps perfect?  Absolutely not!  It's creates a tiny bit of input lag and produces a very subtle choppiness; but for many, the slower but steady visuals are much more immersive than dealing with constantly varying frame rates and random long frames.

So if someone decides they want to lock frames in X-Plane, how they do they do it?  First of all, they must run X-Plane in full-screen mode!  I don't know of any methods that work in a window (I use Nvidia exclusively on Windows... so can't comment on AMD and/or other Operating Systems).

Method 1:

Go into "Manage 3D settings" in the Nvidia Control Panel - a profile for X-Plane can be found or created on the "Program Settings" tab.  From there, the Max Frame Rate variable can be set in the resulting list of options.

Method 2:

I find limiting frames with Vsync to be smoother and more desirable (your mileage may vary).  The primary purpose of Vsync is to reduce screen tearing (where part of the screen gets offset from another part and it looks like the screen has been "torn") when the incoming frame rate exceeds the monitor refresh rate.  Although there are different types of Vsync; what I consider a side benefit of using "adaptive" Vsync is that it will also limit your frame rate to the refresh rate of your monitor.  So I know what you're thinking... if I have a 60 Hz monitor; but can only achieve 40 fps in the sim, what kind of benefit is that?  Fortunately, the video card geniuses at Nvidia also created a Half Refresh Rate Adaptive Vsync that basically "fools" the driver into thinking that your monitor's refresh rate is half of what it really is.  For a 60 Hz monitor, the driver thinks it is only 30 Hz and limits frames to 30 fps accordingly.

I force Vsync to 1/2 rate using Nvidia Inspector (third-party utility); but I believe it can also be set in the "Manage 3D settings" of Control Panel.  Find (or create) the X-Plane profile on the "Program Settings" tab and set Vertical Sync to Adaptive (half refresh rate) in the resulting options.

Warning: There is a bug in some driver versions where if you open any other program in full-screen (including watching a video in a full-screen browser window) before starting X-Plane, the 1/2 refresh rate setting may become disabled.  In this case, you need to restart Windows to get it to reset (do not shutdown and reboot, you need to actually select the "restart" option to truly refresh the OS environment... look up Windows Fast Startup if you doubt).

 

So why did I spend an afternoon writing a primer on the benefits of locking frame rates and what does it have to do with the TBM?  Well, I thought some people might find it helpful ( especially if they've been living with inconsistent frame rates and never knew there was anything that could be done about it).  The other reason is that I'm convinced that the slight pauses experienced with the TBM have nothing to do with video output, monitor refresh rates, or anything else I've talked about up until now.  X-plane has two different "frame-rates".  The one everybody knows about is the rate at which it can render frames and send them to the video card for processing.  The second is the internal clock of the simulator that impacts the flight model iterations and the dynamic calculations that are occur "behind the scenes".  Based on what I've observed (and tried to illustrate using the performance graphs), the TBM appears to be interrupting the internal clock just enough to create slight stutters in the sim as a whole.  The graphics output appears fine... I'm still getting a steady 30 fps; but the motion calculations that govern what image to draw are are being impacted just enough to make it noticeable.  Anyway, that's my theory... take it for what it is.  Now my hands are getting tired and it's time for a beverage... I hope this was somewhat helpful.

Link to comment
Share on other sites

I have been flying the 900 for many months now. For the first time today, I noticed what you are speaking about. And it all started when I started using the 11.50 B9 beta. I am going to roll back to 11.41 tomorrow and see if it changes. But yes i have to agree it would seem as if the space time continuum in the simulator is being affected. Not so much a frame rate issue. But the rates do jump around a lot. This is with flying in stock xplane vanilla scenery around the hawaii big Island. For some reason i am unable to upload my screenshots but they are identical to Wareagles OP

 

Edited by Mustang7370
Mispelling
Link to comment
Share on other sites

I just flew an hour in Orbx Florida HD with the TBM in B9. Was smother than ever. Had the stuttering before, but that was in 11.41 i guess. 
But now even at Orlando with Detail on Max and frames dropping in the mid 20's, it was at all smooth.. 

So i can say it runs really well on my side. Seems not to be a general problem. 
 

I also tried different stuff to tweak X-Plane. In the end i noticed that i gain the most if i take it how it is. Tweaked the NCP, noticed that X-Plane runs best with no custom settings in the NVIDIA CP. Tried different tools the manipulate the LOD, in the end the Sim looked like shit. 

I adapt my settings to what i fly. When i fly in the US, i deactivate all scenerys in Europe. Also i deactivate the Plugins that i don't need for that flight. And normally i reboot my PC ahead of starting X-Plane. 

In the End i can say that the TBM (for me) is by far less Frame killing, as someone would expect, keeping in Mind the complexity. Some planes in my Hangar have kind of no complexity and system depth, but are heavier on the Frames in comparison to the TBM        

Link to comment
Share on other sites

All of my flights have been in 11.41... the log shows it; but I guess I should have mentioned that at the outset.  Have not tried the TBM in any of the betas; but I may make an attempt soon.

I agree that X-Plane requires very few driver tweaks.  The only settings I change are Vertical Sync, Display Mode, and Power management mode.  I'm not convinced that Display and Power management really do that much; but it doesn't hurt anything, so I go ahead and change them to the appropriate mode.

I've deactivated unused scenery in the past; then did some bench-marking and found that it made little to no difference in loading times.  Now I load everything up at the start.  X-Plane is not like FSX or Prepar3d... it only appears to access scenery when you're close to it (which is really nice!).

Link to comment
Share on other sites

Display Power Management can sometimes affect a (stupid) dynamic brightness mode where the display will adaptively set the brightness level depending on overall screen content.

X-Pilot, for example, would lead to the display brightness ramping up.

Darker content leads to it ramping down.

It's subtle and, in my opinion, annoying.

Link to comment
Share on other sites

8 hours ago, Ben Russell said:

Display Power Management can sometimes affect a (stupid) dynamic brightness mode where the display will adaptively set the brightness level depending on overall screen content.

Hmm, that's interesting.  Does this happen when Power management mode is left at the default "Optimal performance" or when it's changed to "Prefer maximum performance"?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...