The Rise And Fall Of OOM's
[ADX Reader Article] AirDailyX reader Jerome Zimmermann is back once again with a very in-depth article regarding the rise and fall of the various and "dreaded out of memory" issues caused by FSX and P3D. It's always a feeling of Russian roulette when flying with hopes it won't happen. For others, we go out of our way to create crazy flight plans just to avoid flying into a certain area (Seattle or Vancouver anyone?) Here is a very good read about how to cope. We hope you will find the information useful!
ADX>>Updated with editors note and video!
The Rise and Fall of OOM's
Memory has long been the Achilles heel of any software program. You can have the most sophisticated and bug free software in the world, but the minute the program runs out of available memory, it stops working and inevitably…crashes.
When Microsoft Flight Simulator X (FSX) was released in October 2006, getting smooth framerates was a bit of a conundrum. It was very obvious at the time that the available hardware needed to be more powerful, and that the software was unable to fully unleash or exploit its potential due to this. Fast-forward to 2013 and we now pretty much have the reverse. Hardware has caught up in a big way, and performance is now restricted by software. This restriction coupled with faster hardware, has in turn caused many of us to experience OOMs. Let me explain this in more detail, as well as suggest some interesting new fixes.
Back in the early days of PC computing, when DOS was the mainstream operating system, there was a strict 640 KB memory limit. With the introduction of Windows, and other 32-bit operating systems, this restriction was lifted and succeeded by the so-called 3 GB barrier on 32-bit operating systems. PC systems with a 64-bit processor and a 64-bit operating system do not have any such restriction. In a nutshell the 3 GB barrier prevents an operating system from being able to use more than 3 GB of RAM (Physical Memory). To keep things simple and this article focused on flight simulation software, I won’t go in to the various details of how and why Microsoft coded the memory restriction. Suffice it to say that the 32-bit Windows memory limitation is a restriction that 32-bit software programs have also inherited. After all, why would you code a 32-bit program to be able to use more memory than the operating system it is running on can handle.
A 32-bit software program, like FSX and Prepar3D, has a limited allocation of virtual memory or rather Virtual Address Space (VAS), regardless of whether it is running on a 32 or 64-bit operating system. Early implementations of the Windows operating system divided the 4 GB virtual memory allocation into two chunks of 2 GB, with one half being available for applications and the other half being exclusive to the operating system itself. On recent 32-bit Windows versions, such as Windows 7 for example, the 2 GB VAS chunk reserved for applications was extended to 3 GB, with 1 GB dedicated to the operating system (by being marked IMAGE_FILE_LARGE_ADDRESS_AWARE coupled with a /3GB switch in the boot.ini file). On 64-bit Windows versions the 3 GB VAS application space was further increased to 4 GB (through use of a /LARGEADDRESSAWARE:YES option).
If you’re totally confused by now, you’ll hopefully at least have understood the fact that FSX and Prepar3D have a very real and non-negotiable 4 GB VAS limit. To clarify the concept of VAS (Virtual Memory) and RAM (Physical Memory), I propose that you think of RAM as a huge downtown car park and VAS as the number of cars inside that car park. If the total number of cars inside that car park fluctuates, but is limited to and never exceeds a specific total number (4 GB of VAS), it is easy to understand that even a larger car park will still hold the same limited total number of cars. This is the very same reason why more physical memory (RAM) in a computer will not increase the 4 GB VAS limit, the size of the VAS is constant and independent of any higher physical memory size.
If you have not yet encountered an OOM (Out Of Memory) error while using FSX or Prepar3D, you are surely part of a dwindling minority. Over the past few years FSX and Prepar3D have seen an increasing number of sophisticated aircraft and scenery add-ons being released. Weather utilities such a Real Environment Extreme (REX), Active Sky and FS Global Real Weather have been a great asset too in making our flight simulation world even more realistic and adding to our level of immersion.
I first started using Prepar3D about a year ago and experienced my first OOM flying into Chicago. I had a lot of settings maxed out with the level of detail (LOD) notched at 6.5 and had been pretty happy with the performance on my system. Although I had read of others’ experiences with OOMs, I put this down to unfavorable hardware and general misconfiguration, I had after all never experienced an OOM and had put my system together myself with handpicked components. I revised my settings and did not really encounter any major OOMs until I purchased FS Dreamteam’s Vancouver.
I tried everything, spent hours reading other users’ suggestions and came to the conclusion that I needed to severely downgrade my settings to accommodate my new FSDT CYVR airport add-on scenery. I was disappointed that one add-on had now forced me to change my setup. While reading up on suggestions to fix OOMs, I stumbled upon an article that talked about DX10 fixes. Since I was using Prepar3D exclusively, it did not offer any relative fixes, as Prepar3D makes use of DX9 exclusively.
About a fortnight ago I revisited the DX10 posts that Steven Parson has on his website, and started toying with the idea of tweaking my dusty FSX setup for DX10. My experience has in fact been so overwhelmingly positive, that I have decided to pen this short article to encourage anyone whose FSX or Prepard3D setup suffers from regular OOMs, to give the DX10 fixes, that Steve Parson has made available, a try.
Of course many of you may be skeptical and be asking, how can DX10 fix OOMs? The answer is very simple really. In DX10 Preview Mode the use of VAS is significantly lower (up to 400 MB lower reported by some users) when compared to VAS usage in DX9, so much so that I can load up a complex add-on aircraft with my LOD set to 7.5, turn on FS Global Real Weather and fly into Vancouver without experiencing any OOM whatsoever!
With add-on scenery developers providing us with more and more complex scenery (you only need to look at the soon to be released Drzewiecki Design New York City X / New York Airports X), and FSX and Prepar3D being restricted to 32-bit limitations, the move to a “fixed” DX10 version of FSX to avoid OOMs seems inevitable. Until we get an appealing new flight simulation platform, one that is able to discard current VAS limitations and provide us with a true 64-bit experience, we are stuck with FSX and Prepar3D. And since Prepar3D is currently restricted to DX9, I for one have made the change back to a fixed DX10 version of FSX. I invite you to try it, you’ll be amazed at the results!
As of July 2013, Steve Parson is still working on a commercial version of his DX10 fixes. The aim is to combine all the different fixes into an easy to install package. This of course doesn't prevent you from trying out and applying all the current free fixes he has made available. More details can be found here:
I would like to thanks Steve Parson, Paul J and Kosta for all their hard work and community support. I’m confident that the various DX10 fixes will allow many frustrated FSX and Prepar3D users to experience FSX in a new light, and most importantly, without the dreaded OOM errors.
Written by ADX reader: Jerome Zimmermann
Update with a note from D'Andre Newman:
I also wanted to add my 2 cents here as well. We'll actually, the thoughts below from FrooglePete mirror my own thoughts and experiences as well. So watch the below video and be mindful of programs promising better performance. As it turns out, Froogle and I came across the exact same issue. now Pete is smarter than me so he worked out okay. But for me, I wound up uninstalling my entire sim. Have a look.
It was the project that secured the future of FSX for it's many fans. It was the fix that Microsoft never bothered with with leaving many FSX'ers in the virtual darkness. Thankfully, there are those in this community like Kosta and Steve who have very graciously shared their fixes and methods with us over the years and the community is so much worse off with out them. Many ADX readers have emailed me regarding the lack of availability of Steve's DX10 fixer and whereas I still have not been able to find out the motive, I can not hold off this information any longer. The DX10 Fixer has been officially pulled out of the webshops and is no longer available for purchase. There is no clarity as to why or whether updates will continue to follow. If you already have it, then good for you. If not, i'm truly sorry. If any official news update of this comes about, please feel free to share with me and I will update this article. I can only sincerely hope Steve is in good health and I wish him the best. It is our hope the product will b made available again in the future for FSX users.