I’ve yet to see an episode of “Hoarders” with an aviation theme but apparently people with that flavor of the disease exist because I’ve gotten a chance to talk with a few who have accumulated a serious amount of 3rd party X-Plane content over the years. I’m joking of course and don’t mean to insult anyone or make light of people with illness. If you want to complain about my faux pax, contact Ben Supnik. 🙂

There is a real X-Plane issue here however. X-Plane makes no assumptions about the locations of certain types of files. Aircraft/Airfoils/Objects/Bitmaps etc are allowed to be…well pretty much anywhere in the X-Plane folder (with a few exceptions). You can argue this is silly but for historical reasons, that’s the way things are today. In order to show you a list of all aircraft for example, X-Plane has to search everywhere within its folder in order to find them all.

In prior versions, if you added a new aircraft into your Aircraft folder for example, you had to restart the sim for it to appear. As of X-Plane 10.10, X-Plane now scans for new files every time the “Open Dialog” is opened. This is done intentionally as many users have asked for this behavior. For 99% of the population, this works fine because X-Plane’s file system is relatively flat but if you’re a hoarder and you have a HUGE amount of content in your X-Plane folder, you may notice a delay when opening new Aircraft/Airfoils/Objects etc. This delay always existed but it used to ONLY happen during sim load so it was hidden.

The problem is that you have to rescan the entire file tree each time the dialog is opened. I know a lot of you developers are saying “No you don’t! You can hook the OS and look for changes since the last time and rely on your cache if there were no changes!” and you’re right…but you haven’t seen X-Plane’s File I/O code. You’ll have to trust me when I say it’s non-trivial to support this on 3 different operating systems and it will only benefit a very small percentage of users. This is not where our time needs to be spent at the moment.

In the meantime, we did want to provide a workaround but before I get into that, I want to explain things in a bit more detail. The slowness I found in the few cases that I studied were caused by 3rd party folders within X-Plane that did NOT contain any X-Plane relevant data. In other words, there were no aircraft, airfoils, objects, scenery etc in it that were being used by the sim. That means, the sim had to search through the whole thing only to find…nothing. One common folder was “Custom Scenery (disabled)” which is apparently created by a plugin out there that lets you disable certain scenery packs. This folder has now (As of 10.10R2) been added to our internal black-list so that we know to automatically skip it when searching for data. There are other folders that were already in the black-list. Here’s a current list:

  • Global Scenery*
  • Custom Scenery*
  • Resources
  • Plugins
  • Liveries
  • Cockpit
Note that the * is a wildcard so anything can appear after and still match our filter.

This is very important to note…the black-listed folders are automatically skipped by X-Plane for one purpose only…Dialog Population! Files in blacklisted folders will not appear in any “Open Dialogs”. Examples include Open Aircraft, Open Replay, Open Situation, Open Airfoil (planemaker) etc. Files in these black-listed folders can still be found by the sim for other purposes. Notice that custom scenery still loads even though it’s blacklisted, plugins still work properly etc.

What we wanted was a way for users to specify their own black-listed folders. Some users  are developers and have folder after folder of development data in the X-Plane tree that they’d want to blacklist. Starting in 10.10 R2, you can do this by creating a file called:

dont_search_here.txt

in the folder that you want to blacklist. The file can be blank…its contents are completely irrelevant as only the name matters. When X-Plane encounters a folder that contains that file, it will completely give up on the folder and not scan it or scan any deeper. So any Aircraft, Airfoils, Situations, Replays, Weapons, Objects, FMS files, Waves, FDR files or Bitmaps in there will not appear in the appropriate open dialogs.

My recommendations to you:

  1. Do your best to keep non-X-Plane specific data out of the X-Plane tree.
  2. If you can’t or don’t want to follow advice #1, that’s fine. If and ONLY if you suspect that your data is causing X-Plane’s various “Open Dialogs” to be slow, try dropping the dont_search_here.txt into the folder if it doesn’t contain any files you want displayed in X-Plane’s dialogs.
  3. If you’re not experiencing noticeable slowness, don’t mess with this at all! This is not a widespread problem!

 

About Chris Serio

Chris is an electrical engineer and commercial pilot who got roped into software development by Ben because misery loves company.

10 comments on “Slow “Open” Dialogs…If you’re a hoarder.

  1. just downloaded the updater and ran it. It loads as either your xplane is up to date, or update to 10.10rc1 Is rc2 not live, the beta page shows? Thanks

    1. No need for reply feel free to delete the comments. Figured there was a discrepancy in the listing vs live feature. Just wanted to confirm that difference earlier in case the updater was flawed.

      Thanks

  2. Does this mean Chris if drop in a new (custom) scenery or aircraft and a livery while the sim is running when you check the list it will be available?

  3. And if you are wondering “why don’t we just scan folders as you open them?” remember: we prune from the tree any folders that have no airplanes in any of their children. So we have to scan up-front to provide this simplified view.

  4. So I’m a huge hoarder and was getting very frustrated with the aircraft load times on both XP and PM. Now I know why so thank you for the explanation! Time to do some tidying up and archiving of unused aircraft files and as I read the above, the good news is we can bring those files back into the sim without restarting X-Plane. dont_search_here.txt file is about to be deployed!

  5. > This is done intentionally as many users have asked for this behavior.

    Many users probably expected XP wouldn’t be hunting around for airplanes outside of the Aircraft folder. The problem reminds me of the n-mph bumpers automotive era. For shunts n-mph the extra costs of the bumpers nixed nixed all the savings.

    These extra features cost more time and inconvenience than they save me. One workaround is hard and fast rules — any rules. Example: If an .acf is found in one folder, the probe won’t search another layer down for other aircraft. (That would miss the X-1 Cavallo because other .acf files are found inside the Experimental folder.) Oh well, one way or another we’ll find some modus vivendi.

    Hoarders of Custom Scenery are another matter though. The single layer of haphazardly named folders makes thinning that folder temporarily down to continents or countries not worth the bother.

    1. Okay, the post swallows certain symbols. Should be:

      “For shunts below n-mph the insurers saved money; for shunts above n-mph the extra cost of the bumpers nixed all the previous savings.”

  6. “In prior versions, if you added a new aircraft into your Aircraft folder for example, you had to restart the sim for it to appear.” That’s not true. I had always been able to drop aircraft files into the aircraft folder with the sim open and the aircraft would appear in the aircraft list INSTANTLY, from somewhere in v8 all the way to 10.05. It was fine all along until v10.10 beta.

    “…if you’re a hoarder and you have a HUGE amount of content in your X-Plane folder, you may notice a delay when opening new Aircraft/Airfoils/Objects etc. This delay always existed but it used to ONLY happen during sim load so it was hidden.” After 6+ years of nearly-daily x-plane.org visits, I’m a hoarder (though I don’t keep all my custom scenery in that folder – I myself created the “Custom Scenery (disabled)” folder; no plugin did it for me and it worked flawlessly until 10.10Beta). And there was never any delay when opening new aircraft or other folders.

    “This is done intentionally as many users have asked for this behavior.” It’s hard to believe that others haven’t been getting this feature through previous generations. X-Plane always did these things on my system. That’s why I contacted you with a “bug” when it didn’t do what it had always done before.

    Anyways it looks like there’s a solution to get me back to “status quo”. 😉

    1. Sorry Barry I think you’re right. Austin changed the way Open Dialogs worked in early 10.10 and broke things requiring users to restart before their aircraft would show up. Thats when people started to notice the slow down.

Comments are closed.