DX10 Situation Check

I thought it was worth providing my current view on the status of DX10.

As I see it the DX10 engine was shipped early with 9 significant bugs/missing features (you could also argue that the VC shadow quality was an additional unfinished feature)

  1. The way transparent objects such as bridges disappeared at night. This was a simple shader bug which I have fixed in the free patches and DX10SceneryFixer.
  2. Progressive taxi markers. This was a simple shader bug combined with bug 5. Fixed in free patches and DX10SceneryFixer
  3. Tool Tips – This is I believe unfixable – the only workaround is to not use full screen.
  4. Effects. The bug here is that the first few effects in a scene seem to be initialised with the wrong properties (such as invisibility) and properties leak between neighbouring effects. Typically this affects navigation lights.

    I provided some help here in the free patches. DX10 SceneryFixer provides a much more comprehensive work around. Its not quite a 100% solution and in some legacy sceneries a ballast light is needed on the aircraft as well.

  5. No support for non FSDK SDK scenery or aircraft at night

    This is the scenery that appears ok in the day but appears untextured at night (and in the case of aircraft during the day)

    This is what DX10SceneryFixer mainly addresses – again its not quite a 100% solution but it’s a big step forward.

  6. The Rain Shader

    This was poor, there have been some previous good attempts to address this. I think DX10SceneryFixer has a very good solution – I have managed to implement the lighting and so as far as I can tell the rain and snow looks the same as DX9.

  7. Water ToneThe way that water looks a milky white at night is just wrong! This was addressed in the free patches and also in DX10 SceneryFixer
  8. The Light blue texture used for textures that were missing or not loaded

    I think this was a texture used to highlight and debug texture loading issues that got shipped. In normal use you want to make such issues be inconspicuous. It wasn’t much effort to create a black texture so this was addressed in the free patches and also of course in DX10 SceneryFixer

  9. The Master Bug.

    This is responsible for everything else.

    All the AVSIM patches such as flashing runways, fences, Orbx cars address symptoms of this bug. DX10SceneryFixer adds in a new workaround for FTX lighting.

UPDATE!!   The  Master Bug was subsequently fixed in Release 2.0 of DX10 Scenery Fixer

Now what I wanted to do today was to explain what the Master Bug is and how to avoid it!

The first thing to say is that if that if you create a simple model with any combination of transparent textures it will display perfectly in DX10! There is simply no such thing as a non DX10 compatible texture or a model that doesn’t work in DX10. Yet the Master Bug is still very real!

So what is it?

To explain that we have to talk just a little about how FSX (this applies to DX9 too) draws things. To maximise the efficiency of the GPU the core engine collects together all simple objects drawn with a single texture. This is referred to as Draw Call Batching. What this means is that if you have a simple grass leaf texture and you populate your airport with 8000 instances, then all this grass gets combined into a single write operation passed to the GPU. Now this works fine in DX10, but we are getting close to the problem. There are reasons that mean that not every instance of our texture can be combined into one write operation.

The Master Bug in DX10 then is that in these circumstances the transparency settings are only set correctly for the first write operation and not for subsequent writes.

So what are the circumstances where this occurs?

  1. The most common is that scenery drawing is implemented as a set of square tiles on the screen and writes are not combined across these tiles. The furthest away tile is drawn first.
  2. More than 64,000 vertices of the texture are used (this is rare but I have seen it once with grass)
  3. In Legacy the use of Separation Planes (i.e. for PAPI lights) that share a texture sheet.

Examples

I am sitting at an airport and in the far distance is another airport which uses the same fence texture. The draw call batching sorts the fence texture draws but the two fences are in different tiles and so cannot be combined. The fence in the furthest away tile is drawn first – so the fence you cannot see has the correct transparency (!) whereas the one in front of you does not.

If you change your viewpoint there may then be no airport in that direction and so the fence appears ok. Even worse, if you fly between the airports at the half way point it will switch and start drawing the airport you left correctly. It really is like the light in the fridge going off!

You can repeat this substituting runways (although it’s strictly actually another property there not transparency), Orbx Car, FTX light etc etc

Sometimes by sheer bad luck there may be a tile boundary running across your airport. In this case items such as lights, shadows, grass will be drawn ok the far side of the airport but will go wrong near your plane…

So how can this bug be avoided?

I believe that it only affects simple objects that have just one texture sheet with transparency. From observation it doesn’t seem to affect more complex objects. I presume that these are deemed too complex for this form of cross instance batching. I am unsure of the precise rule that applies here (since I haven’t had time to run a set of tests).

When talking about a texture I mean a named texture file. If you copy the texture sheet that becomes a separate texture in draw call batching terms.

The first thing to do is to find out where the tile boundaries are – it seems to be based on the LOD10/QMID 14 boundary. If one runs through your airport don’t use the same grass texture file for transparency on both sides.

  • You can duplicate the texture and the grass model and then use one model on each side.
  • You can add a second texture sheet into the model (note I am not 100% sure of the rules here).
  • For alpha blending DX10SceneryFixer offers a simple workaround without duplicating textures– if you change the transparent material to have a Final Alpha Blend set True and a Blend Factor of 1.0 then DX10SceneryFxier will force on alpha blending in the shader.

The second approach is simple but be aware that your model is no longer rendered in a single write but large number of alternating writes of the two textures. Thus this makes sense for an object that appears a small number of times but not for grass or lights. (i.e. if the model appears say 10 times its ok, more than that it may be performance affecting)

For PAPI lights I think (but haven’t proved) that the workaround would be not to use a single large texture sheet that holds all the variants but one small sheet for each division.

Conclusion

There is a serious bug remaining in the DX10 drawing engine.

But it isn’t random or unpredictable and when you do understand it, it is usually fairly simple and inexpensive in performance terms to work around.

The one exception to that statement would be autogen lights – the only solution there was for me to force the desired behaviour in the shader. People who have criticised Orbx should take note! Without an understanding of what was going on it was impossible for them to fix it, and even then the only solution was to handle it as a special case in the shader itself.

About stevefsx

I don't use FSX that much. But I am very annoyed when it doesn't work properly!
This entry was posted in Uncategorized. Bookmark the permalink.

86 Responses to DX10 Situation Check

  1. Daniel says:

    Looking forward to testing it… Thanks for your contribution.

  2. Christian says:

    Hey – Just bought your new product, seems to work very fine:)
    Have some small questions – hope somebody can help 🙂

    1:
    I use Nvidia Inspector – if I use 8xS (combined 1×2 SS +4x MS) or 4xS.
    2x sparse Grid Supersampling
    In your DX10 controller box, under DX10 Antialising – What do I have to set ?

    2: EKBI – Billund Airport in Denmark . One of buildings have only black texture, can I do something ?
    rest of the airport seems to be fine

    3: When started FSX, is it correct that I have to check Light bloom by myself in FSX settings, it was unchecked ?

    Christian from Denmark

    • stevefsx says:

      1. I am no expert on Nvidia Inspector I am afraid. I think that the 8xS is not doable. I think 4 x S would
      be 4x in DX10SceneryFixer and then set the Super Sampling option in Nvidia Control panel.

      2. Is the building black in the day and/or at night? Was the scenery as whole untextured pink/greyin DX10 at night before? Is the building textured in DX9 – or just a different colour?

      3. Yes if you want to have bloom you must tick the box inside FSX.

    • Christian says:

      EKBI – 2 black buildings in daytime, all others in airport are normal.

      Do you think it makes any difference with setting 4 or 8x in your controller when using Nvidia Inspektor?

      I dont see much FPS Increase, but much more smooth is that correct:-) ? . Light Bloom does not decrease anymore. .
      Great product…

      • stevefsx says:

        I cannot recall If I asked you can you email me some pictures of the buildings in DX9 and DX10 to look at?

        My own opinion is that AA doesn’t improve much beyond 4x – its adding transparency AA from that point on.

        FPS depends on your GPU/CPU balance. On my old graphics card I got a big FPS improvement from DX10 but on my current card there is little difference. However it means that I have more GPU available to run AA and bloom etc etc

      • stevefsx says:

        in particular is the building invisible in DX9? There is a DX9/DX10 difference when autogen has a missing texture. DX9 discards it whereas DX10 draws it. If so its an easy fix

      • Christian says:

        How do I upload at this page, have a picture ?

  3. Tomvz says:

    Just downloaded and installed your DX10SceneryFixer and did a quick 10 min. test-drive.
    Great first impression here!

    Thanks Steve for all your hard work on this one, greetings from the Netherlands.

    • Wayne Such says:

      Hi Steve

      Thanks for a great product, one quick question I use Contrails Pro and in DX10 the contrails are drawn blocky and they hesitate as they disappear, is this something that could be fixed, I see on the vendors site they say they are compatible with DX10, thanks

      Wayne

      • stevefsx says:

        Wayne did I reply to you on Avsim or are there two people with the product? Any way can you disable effects in the DX10Controller and report what you see.

  4. Hightower says:

    Steve Thanks very much for all your hard work. Dx10 is awesome and wont be going back to dx9
    I did find it strange you just called it dx10 scenery fixer when it does so much more.
    Someone ill informed might skip over it unless it was more general.its fixed my white AI planes
    Scenery of course and everything in general looks sharper. Your sales page didn’t list much of the benefits like way smoother running with little to no stutters, lowers VAS usage, water looks stunning, more work offloaded to the GPU which translates to better performance. All in all I hope this changes things so that it becomes the mainstream of FSX . Congratulations

  5. Aaron says:

    Steve, thank again. Before I buy I was wondering if you plan on updating this fixer in the future. Or is this is “complete” as far as you are concerned? If you DO update, will it be free to paying customers?

    It’s not a deal breaker, I just wanted to know, thanks.

  6. Mike says:

    Steve, thank you so much! I’ve been looking forward to going back to DX10 for a long time and have been following your progress with this application with great interest. My expectations are blown away, its an absolute pleasure to fly in FSX again, congratulations!

  7. michael Hansen says:

    i am in dobt help buy or not buy

    • stevefsx says:

      Are you in debt or in doubt? I would suggest paying off all debts first. However If you are in doubt then I will upload the manual next week and you can take a look at your leisure!

  8. Stephan Z. says:

    I got, I love it.

    Bringing things back that I missed so long in DX 10

    Thanks Steve

  9. Charles says:

    Thanks for this Steven. Great work! Is there going to be somewhere for people to submit minor issues and wishlists?

    C.

  10. CaseyFallen says:

    Got my copy last night! Thanks Steve. This was more than I expected. My night flying is stunning! Not only did the street lights stay solid, but many buildings that never would light up for me before are now visible. I didn’t even know these buildings had lights! Thanks to your plane light fix, I can spot air traffic in the day and night now! The inside of my planes look stunning with the shadows. I have never seen FSx this visually appealing. Great work. Not a issue one with my setup! Worth every penny!

  11. Paul says:

    Hello Steve, thanks for your hard work! Do you have any specific suggestions on how to fix the Flytampa PAPI and runway lights which show as black boxes? Thanks Paul

  12. Zhirayr Nersessian says:

    Hi. Do we know if AI aircraft nav lights appear post the Fix? Last flight seemed visually empty despite a lot of traffic in the skies at night. Before the fix it seemed that you could only see them if you were facing the aircraft head on.

    • Zhirayr Nersessian says:

      Sorry, what I mean is, do we still need to apply the ballast light fix in the aircraft.cfg files? I’m doing this for all AI aircraft in Ultimate Traffic 2!

      • stevefsx says:

        Hi Zhirayr

        It isn’t quite the same fix and its for a different reason. The Effects button should fix the vast majority of nav lights. The only exceptions may be FS8 SDK aircraft with embedded lights – i.e not in aircraft.cfg – I am afraid that there is no real fix for these – they inherit the initial DX10 effects system bugs.

        The reason to add a ballast at the end of the aircraft cfg is now to protect the runway lighting at legacy airprots from the initial DX10 bugs which now bypass the fixed nav lights.
        (crazy)

    • stevefsx says:

      Try a ballast – there is an option in the toolbox to do this. -its the same issue we were discussing with runways lights – because the effects fix makes the nav lights side step the issue it bypasses them and hits the next user of effects which could be your ai aircraft if they use embedded lights.

  13. Ryan says:

    Hi Steve,

    I am thinking about purchasing your fixer mainly for the FTX global lights fix and for the VC shadows.

    I have a question – does your fixer only improve the quality of the VC shadows for aircraft that already have them, or does it also add VC shadows to aircraft that do not have them? I have heard conflicting info on this. I’d really like to see VC shadows the Aerosoft Twin Otter Extended, which currently does not support this feature.

    Thanks

    Ryan

  14. Adam Banks says:

    Hi Steve! Congratulations – I think you have a winner. As with most things FSX – information, disinformation, facts, rumours are spreading like wildfire in the simming world. I think I’ll just post here 😉

    One tiny question – pleas post (publicly) somewhere, the name/variant of the main font used in the manual PDF. It appears very oddly for most people. Seems a shame for such an important document!

    Adam.

  15. neo says:

    Hi Steve, from now on, you are a rich man 🙂
    Many thanks for this powerfull Tool, i will give this information to all people who are frustated with DX9

    If i find any issues, i´ll post here for further optimization of your tool.

    GREAT JOB!

  16. Rene says:

    Hi Steve or anyone else that may be able to answer my question before buying:
    I have several Aerosoft Airports such as Düsseldorf, Helsinki, Skiathos and those in German Airports 2 + 3 from Aerosoft as well as some from UK2000 Scenery such as Gatwick & Heathrow. Does this piece of software work for these airports?
    What about PMDG 737 and T7?

    Thanks and best regards

    • Mattius says:

      For me Skiathos has black rectangles around boats in harbour???

      • Rene says:

        Thanks, Mattiu…I bought it anyway and will be running some tests this week. I quickly installed it last night, set all sliders (except water) to max and am still getting 16-29fps at Helsinki with clouds and rain while sitting in VC view in the PMDG 737 NGX.

  17. Dieter K uepperbusch says:

    Hello Steve,
    Great Job, but in fsdt scenery i get wrong Papi Lights.
    What can i do?

    Thnx
    Dieter

    • stevefsx says:

      Hi Dieter, I am afraid for PAPI lights you need to persuade FSDT to fix them as Martin @ FlyTampa has done so promptly for Dubai. An alternative is to try and remove them from the scenery. The fix should be relatively straight forward for them.

  18. Jerome Zimmermann says:

    A preliminary DX10 Beta patch to fix the Dubai airport approach lighting problems is now available here:

    http://www.flytampa.org/forum/download/file.php?id=3431

    I would like to extend my utmost thanks and gratitude to FlyTampa for making this available and putting their energy into providing a DX10 fix for the FSX community.

  19. Eric Lefevre says:

    Hello, Steve.

    I was really looking forward to your Scenery Fix, but I am getting really frustrated when, after I got it, it crashes at any attempts to open it. I do not want to bother the community on what probably results from one one my config issue. How can I get in touch with you to obtain your assistance ?

    Brgds
    Eric

  20. Jude Bradley says:

    Is there an update in the flightsim shop? It seems not available anymore.
    Is an update being planned?

  21. Eef says:

    What is this…. I spared some money all week, can finally buy it. IS it not availible?

  22. Stu Campbell says:

    Hi Steve, I too have been looking forward to purchasing this. Any update on when it will be available again?

  23. doeke brouwer says:

    I have bought the dx10. The only problem I have is that the rain still comes 2/3 of my 3 screens. It is the same as in dx9 .I uninstalled it and tried again but no luck.I installed in a clean fsx so there were no shaders infected by former programs. any idea how to solve this problem?

  24. cassis says:

    Hi Steve. Congrats for your soft… Just a question though. I noticed a pink wall at TNCM and found out a patch on FlyTampa forum…. Is that something that you could have had included by default on your add-on ? Same question for OMDB (apparently a patch is on the way from the Fly Tampa team..

    thank you

  25. Murray says:

    Where is the download available now? The link to the FlightSim Store is showing not available?
    Dreamer

  26. cassis says:

    ok thanks Steve.

  27. doeke says:

    I was asking for Multi monitor solution regarding rainfix,
    I found the link in the avsim software & hardware guide so the problem is solved
    but noticed that in the dx10 rainfix the box is unticked and I can not change it anymore.
    does this mean the existing software has overwrite yours?

  28. Rene says:

    Why is it not available in the Flightsimstore anymore if i follow your link above?
    I would like to download/buy it. Can you point me a new direction?
    Thank you in advance.

  29. Rene says:

    Where can I download/buy the DX10SceneryFixer? It is not available in the Flightsomstore anymore, if I follow your link.
    Thank you in advance.

  30. Greg says:

    Hello,
    One thing I noticed is that at Aerosoft Ibiza for example, once landed and vacating the runway to the appron, the green center lights and side blue lights of the taxiway disapear and re-appear….. is this a known issue ? Is it going to be solved ?
    thank you

  31. Konstantin says:

    I am having major lag loaded on the CPU with DX10 while flying around water and clouds. Water is set to 2x Medium, clouds are 512 resolution …. but something just kills me CPU, not sure what.

  32. Konstantin says:

    Nope, not GPU…..CPU. My computer becomes practically unusable. To close some window will take me 3-10 seconds. But its only when I look outside of the airplane, when ever I look around inside or specifically look down on my seat (VC) everything seems to be ok. Here’s a screenshot

  33. Alex says:

    Hi Steve. First of all, thanks a lot. Your Fixer is amazing. But I have a huge problem. I purchased your product yesterday and after installing the program and then the libraries I started testing, but after some tests, with Dx10 activated, I ran FSX, selected the airport, and clicked on started flying the screen was completely black, I only saw the window frame but without content. After changing settings twice from your app after that, The dx10 preview option in FSX settings dissapeared and now I can only run it with dx9.

    I reinstalled the fixer but nothing changed. In fsx.cfg file the option d3d10 is set to one. I don’t know what to do whithout reinstalling FSX (I have a lot of addons and configurations 😦

    Could you help me please? Thanks a lot Steve, and congratulations!

  34. Ian Smith says:

    Hi, it appears that the FTX global vector lights work great, however the regions Scotland And England, have flickering dissapearing vector lights. Is this a known issue?

    • stevefsx says:

      Are those problematic lights FTX or UTX or something else? Have you converted all effects? What does the button action say Disable or Enable? In some instance sit may help to add a ballast light to the plane. BUt experiment with turning effects on and off first.

  35. James says:

    Happy customer here. The fact that the retail version fixed the lights in FTX Global made this a no-brainer. Thanks again.

    I still have a problem that I can’t seem to solve after several hours of testing and tweaking the nvidia Inspector. My A2A and Carenado VC textures flicker quite a bit, especially gauge numbers and markings. They look beautiful up close, but the flicker intensifies as I back away. Scaling issue? Any thoughts or direction? AA looks fantastic on the scenery.

    Thanks much Steve.

    James

    i7-3930 / GTX680 / 32GB RAM

    • stevefsx says:

      Is it
      TEXTURE_MAX_LOAD=??

      The A2A insist on a value of 4096 – without that setting I get flickering.

      • James says:

        Ah, I will try that as soon as I get home from work. I may need to reset that value. You rock.

      • James says:

        Changing to 4096 in my cfg did not help. Gauges and other fine details like small text are still flickering/shimmering in DX10. Hmm…

      • James says:

        I already spent some time there today. Will be digging-in this evening. I will be diligent at the avsim forum before bothering you again. Cheers.

        FYI, it’s also about time for a clean FSX install, so I may do that first, then attempt to fix my dx10 issue.

      • James says:

        Thanks for redirecting me to that thread. I only skimmed it earlier since it seemed to focus on ATI settings, not NVIDIA. However, after a second look, there WAS a nugget of gold for the NVIDIA user…

        Antialiasing – Transparency Supersampling = 8X Sparse Grid Supersampling.

        SGSS was required to fix the cockpit shimmering in my HD addons. GPS even looks nice. Done and done.

        Steve, my FSX is FINALLY where I want it to be, visually. Been a long time coming. You sir, are amazing.

      • adamski123 says:

        James – if you want to get a fraction more performance, 4x SGSS will do the job as well.

  36. Bob Werab says:

    Steve, do you know right off hand if MyTrafficX 5.4C uses the 8bit textures on any of their AI planes? I was having constant ntdll.dll crashes and when I removed the MyTraffic traffic I know longer go them. In your manual you indicate not to leave the 8bit on but do you think turning it on might solve my MyTraffic issue? Thanks, Bob

  37. Keinofj says:

    Hi Steve,
    Great product. I have a few questions
    I’m see gray windows screens in the vc of CLS A3xxx at night. Is there a fix for this?
    I’ve tested a few flights using DX9 and DX10. Most long haul flights say from EGLL to KJFK end in an OoM situation with dx9(about 10 -60 miles out from airport). I tried DX10 and the VAS increases similarly and results in an OoM but closer to airport (<10 miles). What should I expect from DX10? I've heard/read where some people can induce an OoM no matter how hard they try inDX10.
    And note this is leaving my settings the same for both.
    Thx

  38. Keinofj says:

    Sorry should have read “some people can’t induce”

  39. Aviator19791 says:

    hello flightsimmers, i have a problem with the pmdg 747 logo lights and dx10, they dont work in dx10 mode,
    is there a solution for this? I have the software from steves dx10
    thanks in advance

  40. mf says:

    i want to buy dx 10 fixer. but i cannot find it at the store

  41. Bill says:

    Please reconsider. Many people are counting on this software to transition to DX10 in FSX. It has been
    a holy grail for people such as myself who are not gifted at tinkering with FSX. You have really helped a lot of people : ) Please continue to.

    My recent blog post:
    http://deskpilot518.blogspot.com/2014/05/moving-to-dx10-with-matt-davies-and.html

    Thanks,
    B.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s