Wednesday, 14 September 2016

Pain in the VAS: Much Pain, Much Gain

Flight simmers fly in fear of those dreaded "Out of Memory" errors (OOM), for once those pesky dialogue boxes appear, it's already too late - you're going down!




There's nothing worse than setting up your flight having spent hours flight planning and downloading scenery, only to find that upon nearing your destination that your PC has apparently insufficient memory to continue. The thing is that Microsoft couldn't do anything about the maths because we are talking about an absolute, but they did us no favours with the wording, because it's not at all about memory or RAM, but about virtual address space (VAS).


VAS is a legacy item whereby a 64-bit OS can allocate an absolute finite maximum amount of memory to a 32-bit application of 4Gb, such as P3D.EXE or, more famously, its older cousin FSX.EXE. That's like giving the application one of those tiny little post-it notes, the ones that are barely large enough for a name as well as a telephone number, instead of a larger more sensibly sized sticky upon which to work.

Even if your PC is fitted with 32Gb of hyperfast RAM, the baseline of 4Gb for a 32-bit application still applies, and that's it, period. It could be worse, however, as a 32-bit OS can assign a maximum VAS of just 2Gb to a 32-bit application (rising to 3Gb with a tweak).

This 4Gb VAS memory may well have been enough back in the heyday of FSX, but with today's super complex airliners coupled with richly detailed scenery including FTX Global, LC, and Vector plus 10m mesh and 60cm photoscenery, well, it's barely enough.

Yet here's the thing, sufficient it is. One just has to make it work. The trouble with FSX's coding is that once something is loaded in VAS, it stays there, meaning that if you fly nearby to scenery that you won't be visiting in you flight, it's too late, because the scenery will already have been loaded. 

The well known USP of P3D v3 is that VAS is actually managed by the simulator insofar as scenery is not loaded unless it is called upon, and once it is, it is then unloaded. In contrast, the recognised way to unload VAS in FSX is to save and close your situation, so that when you reload FSX, your VAS will be, at least initially, considerably leaner. 

Another issue is that unless your aeroplane allows panel state saves, you may reload your aircraft to face a C&D state with nothing at all operational (perhaps a useless airborne GPU attached to your fuselage?), and that's just terribly uncomfortable for your passengers, and besides, it's probably against the rules too.

What can be done to help manage VAS? Well, during flight, it is said that switching between windowed mode and full screen will help, minimising to the task-bar and back will liberate a byte or two, and that saving your situation may release a handful of kb's, but generally these are recognised as wanna-be fixes and are little more than flightsim fairy-tales. 

What you can do, however, is to start managing the way you operate your flight simulation. Start by installing and running the applet "VAS Monitor V1.2" or the FSUIPC LUA script "VAS Monitor" (both from Avsim). In so doing, you will arm yourself with a mechanism to be forewarned of issues before the dreaded OOM message appears. My preference is VM V1.2 as this will inform you within sim as well as changing colour depending on your current VAS situation.



Next up is boxing-clever with scenery management, and this is where the good stuff is. Even if you are one of those simmers who has but one or two payware airports alongside even the tiniest allotment of freeware sceneries, here you should still pay attention.

The reason is that even having a small number of additional scenery files will take up a corresponding amount of VAS, even if you're going to be flying away from it. Perhaps you have one of those scenery bundles that encompasses the entire Southern half of a country (i.e. UK2000 VFR Scenery 1, 2, or 3), and just by flying overhead once place you may well end up loading far more than you want or need.

The answer to this conundrum lies first and foremost with you, specifically by changing how you operate. Only enable the precise scenery that you need for your flight, including any alternates that you'd like to have standing-by for your arrival.

The good news is that you don't need any special tools for this, because once scenery is installed in MS FSX, FSX:SE, or LM P3D, you have the option of enabling or disabling that scenery area by putting an "X" in the check box under the scenery library. No "X" and that scenery element will not be loaded.

So, with this in mind, go ahead and disable everything that is above and beyond standard FSX scenery, unless your going to use it for your next flight. There is no need to disable the critical items such as default FSX regions, FTX Global, Vector, LC, or FTX regions, but the rest is fair game. Before beginning, make a backup of your scenery.cfg file, so that you can retrace your steps if it all goes horribly wrong (check where yours is stored; often it can be found here: C:\ProgramData\Microsoft\FSX).

However, now that you've seen the sense to this approach, I would heartily recommend downloading "Scenery Config Editor V1.1.7" as this small but incredibly useful utility will help you in this task. With this utility, you can create groups of scenery files, for instance grouping all Italian scenery, and in this way, you can see at a glance what is enabled. Simply by clicking on the group, you can enable ALL scenery files within the group, or you can open the group to enable one or a few elements within that group.



Easy! Now your VAS short-falls should have been consigned to the bin, and your VAS should have no excuse whatsoever for causing you any further problems. Any and all crashes beyond this point will be down to, err, your airmanship!

No comments:

Post a Comment

Feedback welcome