Double Your Framerate: Pre-Fill

That got your attention, eh?  Sorry, this is not a tip on how to tune your X-Plane system; it's a tip for aircraft authors to make sure their 3-d cockpits are running at maximum performance.

Prefill is when X-Plane blocks out the clouds that will be behind the airplane cockpit.  The biggest cause of GPU slow-down is cloud rendering, so reducing the area that the clouds have to fill is really important.

In the 2-d cockpit, X-Plane pre-fills automatically.  But in a 3-d cockpit, the airplane author has to specify which objects should be used to pre-fill.

Aircraft Authors: go watch this video or read this page to learn how to set up pre-fill in your aircraft!  If you aircraft has a 3-d cockpit this optimization is very important!


  • Facebook
  • Reddit
  • StumbleUpon
  • Twitter
  • Google Buzz
  • LinkedIn

About Ben Supnik

Ben is a software engineer who works on X-Plane; he spends most of his days drinking coffee and swearing at the computer -- sometimes at the same time.
This entry was posted in Aircraft, Cockpits, Modeling. Bookmark the permalink.

9 Responses to Double Your Framerate: Pre-Fill

  1. Does this pre-fill help (which I suspect it does not) with the issue that if you are on the runway or at an airport that in the 3d cockpit mode the scroll will produce various frame-rate speeds, in most cases if you hide behind the (lower part of the ) panel your frame-rate is fine, go up to the overhead panel and again your frame rate is fine... but cross your window or look out of your window with objects (airport) then your frame-rate will crash to single digits!, go outside the aircraft and the frame-rate is again fine...

    It seems to be a crash of combining the 3d cockpit and the extra objects in the scenery that creates the issue... when looking out of the windows, which is the opposite of the situation noted in this post.

    • Ben Supnik says:

      Pre-fill does _not_ help the CPU costs of having 'a ton of stuff' right out the window in a 3-d cockpit. It only helps the _GPU cost_ for that stuff itself. Of those GPU costs, clouds are -by far- dominant. But if a scenery author, for example, coated the ground with 18 layers of draped polygons, all with maximum decal shaders, then in theory in very close views at very high res, those could start to be a GPU cost and this would address that.

      For the CPU costs, I did some experiments with trying to reduce the outside view's clipping extent to only cover the window - the idea is that drawing the buildings outside is dumb if you can't see them.

      Here's the problem: the buildings come in big chunks of several buildings, because that's how the GPU likes to eat - big bites. And while individual buildings tend to be below the dash, some part of the chunk is above the dash and thus everything must be drawn.

      So for example, if I kill hardware instancing, the chunks get small -- below-the-dash clipping eliminates 50% of objects! Awesome. Buuuut...turning off hardware instancing also cuts the OBJ performance by a factor of 10x (!) so the net result is 5x slower operation in total...not a win at all. 🙁

      Alex and I have some ideas for tricky optimizations we could possibly make for the 'at the airport' scenario; I've heard others complain about its high cost. But we're also looking at ways to increase object performance at -all- times, because on final approach you can see the entire airport and your cockpit and nothing is hidden.

      • flo says:

        Ever since autogen was widely spreat among flightsims I wondered if it would be possible to lower the draw distance dynamically. I don't need 15 miles of autogen (and cars!) when moving around on the apron of huge custom airports. That's where the sim really starts to slow down.

        Regards
        Flo

        • Ben Supnik says:

          Alex and I have tossed that idea around. The problem is that some of the 'far off' stuff that would be lowered will be tall buildings that are visible from the ground, making the sky line disappear. It's a tricky case too because as soon as you take off, everything is visible.

          • Dave_75 says:

            Hi Ben.

            Why not let the autogen make use of buildings height information to decide which ones to hide at lower distance (for example, hiding those less than 150ft high) ?

            Bad idea 🙂 ?
            Cheers.

  2. Dom says:

    Hi Ben,

    Reading through numerous forums it seems that clouds are still the biggest bottleneck when it comes to performance in X-Plane 10. In fact; so much so that a lot of uses are sticking with X-Plane 9 because of this very reason.

    Even myself; who has a great love for X-Plane has started simming again in FSX because of the performance I can achieve over the current release of X-Plane.

    I can run Active Sky 2012 and Orbx England and I'm getting 40+ FPS maxed out.
    In X-Plane it hovers in low 20's and late teens. All this with the same location, same time and real weather data.

    Is there a chance you'll be looking at cloud performance in the future of X-Plane 10's development cycle? If you could it would be great as I believe that it's X-Plane's performance compared to the competition that is hindering it's growth and user base.

    Sorry to moan mate; I know you work at 150% Monday to Monday, LOL.

    Cheers

    Dom

    • Ben Supnik says:

      There is a chance that we will look at cloud perf in the future, yes. 🙂

      I view cloud performance at huge effective resolutions as one of the main perf hot-spots...in particular, clouds + HDR + anti-aliasing is a real problem right now. We have a few ideas about what we can do to fix this, but we're not sure how well they'll work.

      But CPU-side rendering engine is also on that hot list - a lot of users are still CPU bound.

  3. Dom says:

    That's great to hear Ben.

    All the best with it mate, but remember to step outdoors every so often, LOL.

    Cheers

    Dom

Comments are closed.