Jump to content

Sign in to follow this  
JerryG

Comments about the blurries from an ACES developer

Recommended Posts

There has been much concern about the display of lower-than-normal resolution textures on the terrain in Flight Simulator, a condition often called "the blurries". I am a software engineer on the ACES team at Microsoft and my primary area of responsibility is the terrain engine, so I'd like to give my take on the "the blurries." The views expressed in this posting are my own and don't necessarily reflect those of Microsoft.During the development of Flight Simulator X (FSX), we observed the following conditions that could cause the blurries:1. Inadequate CPU resources being allocated to the terrain texture loader, causing high-resolution textures to load very slowly, leaving low-resolution textures on the terrain.2. Exhaustion of video memory, causing high-resolution mipmaps to be dropped in favor of lower-resolution mipmaps.3. Poor bilinear, trilinear, or anisotropic filtering parameters, causing overaggressive mipping of textures viewed at oblique angles, such as distant terrain near the horizon.Now I'd like to address each one of these problems in turn.1. Inadequate CPU resources for the terrain texture loader. The symptom of this problem is increasingly blurry terrain textures the further and faster you fly. When you slow down or stop, high-resolution textures eventually appear after some delay. This is probably the more traditional and most frequent cause of the blurries people have seen in Combat Flight Simulator 2 (CFS2), Flight Simulator 2002 (FS8), and Flight Simulator 2004 (FS9). This problem was caused by the scheduler for background tasks in the FS engine putting too much emphasis on maintaining high and even frame rates and not enough emphasis on preventing a backlog of background work, such as loading terrain textures.To reduce this cause of the blurries, we reworked how Flight Simulator's scheduler prioritizes background tasks in FSX. Now much more CPU time is devoted to loading scenery data, including terrain textures, at the expense of somewhat lower frame rates. These changes occurred after the beta and demo builds went public, so you'll have to wait until the final version of FSX becomes available before seeing the improvement. In my opinion, this change has mostly solved this cause of the blurries, although the scenery loader can still get behind at extremely low frame rates (less than 10 fps) or at very large airspeeds (faster than 600 knots). There are several ways to adjust how much CPU time FS devotes to loading scenery and textures. The easiest way is to set the target frame rate slider to a value that your machine can consistently achieve. The lower you set the slider, the more CPU time is diverted from rendering to loading data. Another thing you can do is to modify the following variable in FSX.CFG:[MAIN]FIBER_FRAME_TIME_FRACTION=0.33This variable determines the amount of CPU time given to loading scenery data as a fraction of the time spent rendering. For example, the default value of 0.33 means that for every 3 milliseconds spent rendering, FS will give 1 millisecond to the scenery loader. If necessary, you can use a larger value to devote more time to loading. Or, if you don't have a problem with the blurries and you want slightly higher frame rates, then you can use a smaller value. Again, this variable is only available in the final release version of FSX and is not available in the beta or demo.2. Exhaustion of video memory.I recently posted about this in another thread on AvSim entitled "Blurries still there :(". If a particular scene requires more video memory than your video card has available, the Flight Simulator graphics engine has no choice but to remove some of the highest resolution mipmaps from video memory to save space, leaving only lower-resolution mipmaps for rendering. This usually appears as a sudden change. One moment, all the textures in the scene are sharp and full-resolution and suddenly everything becomes more blurry. It can also get progressively worse over several frames as FS works to fit more textures into video memory.There are several ways to combat this problem. a) If you are running at a very high screen resolution, lower it slightly to free up additional video memory. :( Some video cards use lots of video memory for anti-aliasing, so try turning it off. c) Turn down the setting of the "Global Max Texture Size" slider. d) Lower the setting of the AutoGen and scenery complexity sliders. e) Reduce the setting of the terrain texture resolution slider. f) Turn down the amount of AI traffic.3. Poor filtering settings.Unfortunately, not all video cards and drivers respond the same way when Flight Simulator interacts with Direct3D to set up bilinear, trilinear, or anisotropic filtering. This means that in spite of our best efforts, the texture filter on your video card may not be set up to perform optimally. This can result in textures looking excessively blurry when viewed at an oblique angle. To fix this, try each of the different filter modes (bilinear, trilinear, anisotropic) to see if any of them perform better. If not, then try overriding Flight Simulator's filter settings with the settings in your display driver. You can do this with ATI and NVIDIA drivers by clicking on the ATI or NVIDIA icon in the tray next to the clock on your desktop and making the appropriate selections.I hope everybody finds this information useful.Cheers,Adam

Share this post


Link to post
Share on other sites
Guest dpc

Adam, Thanks for the great info. Much appreciated when developers come in to the forums and let folks know what's going on.Dave

Share this post


Link to post
Share on other sites

Thanks Adam.I am sure that this post might help many people around the world after the release of FSX.


Gerard

7940x ( 14 cores ) : 8 cores @ 4.8 - 6 cores @ 4.0 Ghz - Gigabyte X299 Gaming 7 - 32 Gb G.Skill Trident Z 3200Mhz Cl 14 - Gigabyte GTX 2080 TI Windforce OC @1920 Mhz - 1x SSD M2 1800/1800 2TB - 2x  Sata 600 SSD 500 Mb - Thermaltake Level 10 GT case - EKWB Extreme 240 liquid cooling set push/pull - 2x 43” Sony 4K tv's in NVSurround

8700K : all 6 cores @ 5.0 GHz - Asus ROG 370 - 16 Gb 4000 MHz @ 3600 Mhz - Gigabyte GTX 2080 Windforce OC @ 1900 Mhz - 1x SSD M2 1800/1800 2TB - 2x  Sata 600 SSD 500 Mb - 1x 55” Sony 4K tv

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

 

Share this post


Link to post
Share on other sites

Thanks again for the great info Adam. Hopefully this will help many set up FSX to their satisfaction when we get the retail version.


Ken

Share this post


Link to post
Share on other sites
Guest tango_d

Hey Adam,Great info - in the 'true spirit' of working / co-operating with the community, this will really help everyone for sure !!:-beerchug STICKY please - 'Tips & Tricks forum - FSX' ThanksEddyNorth Wales - UK

Share this post


Link to post
Share on other sites

Thank you Adam, that is some great info, now I have a better understanding, of how things work for flight simulator.


Cesar Martinez

Share this post


Link to post
Share on other sites

First time that we see a developer posting in these columns! Well done! This must be appreciated and supported. Thanks again Adam for explaining to us the workings of FSX. Now I am really looking forward for the product to reside on my PC.Stelios


Stelios Christofides

Share this post


Link to post
Share on other sites

Actually, AVSIM has a number of ACES team members posting here. You just need to know where to look... :)

Share this post


Link to post
Share on other sites

Hmm. It looks like the message editor eats any text in square braces. In my original post, the FIBER_FRAME_TIME_FRACTION variable should be in the MAIN section of FSX.CFG. Like so:[MAIN]FIBER_FRAME_TIME_FRACTION=0.33Sorry about that,Adam

Share this post


Link to post
Share on other sites

Adam,Thanks for the posting.For everyone reading, this is just a portion of the presentation Adam gave at the AVSIM conference, and for those that were unable to attend, lots of other useful information on scenery, terrain, and textures was presented by Adam.I suggest that for the next conference, AVSIM & Microsoft explore the possiblity of developing a podcast or other means for recording the presentations and presenting them on the internet for the benefit of developers and users that are not able to attend events (within legal limitations, copyrights, etc.).Bruce

Share this post


Link to post
Share on other sites

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.
  • Donation Goals

    AVSIM's 2020 Fundraising Goal

    Donate to our annual general fundraising goal. This donation keeps our doors open and providing you service 24 x 7 x 365. Your donation here helps to pay our bandwidth costs, emergency funding, and other general costs that crop up from time to time. We reset this goal every new year for the following year's goal.


    30%
    $7,720.00 of $25,000.00 Donate Now
×
×
  • Create New...