Jump to content
Sign in to follow this  
psolk

Got an OOM with FS9. Too bad!!!

Recommended Posts

I'm not sure that I do agree with you that FS9 repeatedly tries to access non-existent files. I've run PROCMON with the filters set to limit output to file operations of fs9.ex and I can't see any evidence of this. I have the UK VFR Photographic Scenery add-on and all file operations reference the correct path and return SUCCESS as their result. These files are mip-mapped .bmps. PROCMON output does show many operations to each file. As well as QueryOpen, they includeQueryBasicInformationFile, QueryStandardInformationFile, QueryFileInternalInformationFile, and QueryInformationVolume. I presume these are checking that it is a valid file. There are then a series of read operations with differing offsets and lengths which I presume are extracting data from the files. I admit that there appears to be quite a few of these for each file but I suppose they are getting the BITMAPFILEHEADER, BITMAPINFOHEADER, RGBQUADHEADER structures initially and then the actual pixels forming the bitmap - normal bitmaps have that information. Mip mapped files must have more than that but I don't know what their structure is.Also, the random checks I've made all show that each file QueryOpen operation is matched by a CloseFile operation, so there doesn't seem to be any waste of VM.

Share this post


Link to post
Share on other sites

Really? Not that I doubt you but you don't see any calls for non existent .cab files? you don't see calls from the default a/c for Wright_FlyerState.cfg and then when it can't find it a subsequent call for a .cab file? or with the default 172?The only reason I ask is because it took me ~ 5 seconds to product this output with Vanilla FS that clearly shows FS first looking for a file not finding it and subsequently looking for a non-existant .cab file all from its own default a/c. Multiply this times 10 hours of simming with the PMDG and I bet it adds up. This is the same process FS9 repeats when it can't find a file. Now edit I can also show line and line of success but the point is to show the default FS search behavior... So where are these .cab files fs is always looking for? Best of all please tell me why it is looking for an FS9.Cab? FS doesn't have any .cab files to the best of my knowledge. Since the memory consumed to search for the .cab files can't be returned to the O/S what happens?3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9AIRCRAFTc172soundcmtouch7.WAV NOT FOUND Attributes: Error 3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9AIRCRAFTc172sound.CAB NOT FOUND Attributes: Error 3:13:23 PM FS9.EXE:1380 IRP_MJ_READ* C:$Mft SUCCESS Offset: 50126848 Length: 4096 3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9SOUNDcmtouch7.WAV SUCCESS Attributes: A 3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9AIRCRAFTc172soundcmtouch8.WAV NOT FOUND Attributes: Error 3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9AIRCRAFTc172sound.CAB NOT FOUND Attributes: Error 3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9SOUNDcmtouch8.WAV SUCCESS Attributes: A 3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9AIRCRAFTc172soundcmtouch1.WAV NOT FOUND Attributes: Error 3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9AIRCRAFTc172sound.CAB NOT FOUND Attributes: Error 3:13:23 PM FS9.EXE:1380 IRP_MJ_READ* C:$Mft SUCCESS Offset: 50122752 Length: 4096 3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9SOUNDcmtouch1.WAV SUCCESS Attributes: A 3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9AIRCRAFTc172soundcmtouch2.WAV NOT FOUND Attributes: Error 3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9AIRCRAFTc172sound.CAB NOT FOUND Attributes: Error 3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9SOUNDcmtouch2.WAV SUCCESS Attributes: A 3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9AIRCRAFTc172soundcmtouch3.WAV NOT FOUND Attributes: Error 3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9AIRCRAFTc172sound.CAB NOT FOUND Attributes: Error 3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9SOUNDcmtouch3.WAV SUCCESS Attributes: A 3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9AIRCRAFTc172soundcmtouch4.WAV NOT FOUND Attributes: Error 3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9AIRCRAFTc172sound.CAB NOT FOUND Attributes: Error 3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9SOUNDcmtouch4.WAV SUCCESS Attributes: A 3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9AIRCRAFTc172soundcmtouch5.WAV NOT FOUND Attributes: Error 3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9AIRCRAFTc172sound.CAB NOT FOUND Attributes: Error 3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9SOUNDcmtouch5.WAV SUCCESS Attributes: A 3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9AIRCRAFTc172soundcmtouch6.WAV NOT FOUND Attributes: Error 3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9AIRCRAFTc172sound.CAB NOT FOUND Attributes: Error 3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9SOUNDcmtouch6.WAV SUCCESS Attributes: A 3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9AIRCRAFTc172soundsmblylnd.WAV NOT FOUND Attributes: Error 3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9AIRCRAFTc172sound.CAB NOT FOUND Attributes: Error 3:13:23 PM FS9.EXE:1380 IRP_MJ_READ* C:$Mft SUCCESS Offset: 50221056 Length: 4096 3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9SOUNDsmblylnd.WAV SUCCESS Attributes: A 3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9AIRCRAFTc172soundsmwngscr.WAV NOT FOUND Attributes: Error 3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9AIRCRAFTc172sound.CAB NOT FOUND Attributes: Error 3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9SOUNDsmwngscr.WAV SUCCESS Attributes: A 3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9AIRCRAFTc172soundsmwngscr.WAV NOT FOUND Attributes: Error 3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9AIRCRAFTc172sound.CAB NOT FOUND Attributes: Error 3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9SOUNDsmwngscr.WAV SUCCESS Attributes: A 3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9AIRCRAFTc172soundcnroll2.WAV NOT FOUND Attributes: Error 3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9AIRCRAFTc172sound.CAB NOT FOUND Attributes: Error 3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9SOUNDcnroll2.WAV SUCCESS Attributes: A 3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9AIRCRAFTc172soundcnroll.WAV NOT FOUND Attributes: Error 3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9AIRCRAFTc172sound.CAB NOT FOUND Attributes: Error 3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9SOUNDcnroll.WAV SUCCESS Attributes: A 3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9AIRCRAFTc172soundcnroll3.WAV NOT FOUND Attributes: Error 3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9AIRCRAFTc172sound.CAB NOT FOUND Attributes: Error 3:13:23 PM FS9.EXE:1380 IRP_MJ_READ* C:$Mft SUCCESS Offset: 50135040 Length: 4096 3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9SOUNDcnroll3.WAV SUCCESS Attributes: A 3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9AIRCRAFTc172soundcnroll4.WAV NOT FOUND Attributes: Error 3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9AIRCRAFTc172sound.CAB NOT FOUND Attributes: Error 3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9SOUNDcnroll4.WAV SUCCESS Attributes: A 3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9AIRCRAFTc172soundcnroll5.WAV NOT FOUND Attributes: Error 3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9AIRCRAFTc172sound.CAB NOT FOUND Attributes: Error 3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9SOUNDcnroll5.WAV SUCCESS Attributes: A 3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9AIRCRAFTc172soundcnroll6.WAV NOT FOUND Attributes: Error 3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9AIRCRAFTc172sound.CAB NOT FOUND Attributes: Error 3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9SOUNDcnroll6.WAV SUCCESS Attributes: A 3:13:23 PM FS9.EXE:1380 IRP_MJ_CREATE C:Program FilesMicrosoft GamesFlight Simulator 9FlightOverride.FLT NOT FOUND Options: Open Access: Read 3:13:23 PM FS9.EXE:1380 FASTIO_QUERY_OPEN C:Program FilesMicrosoft GamesFlight Simulator 9.CAB NOT FOUND Attributes: Error And for everyone who talks about what overkill my 8800 GTX cards are and how I did this to myself maybe you should see this thread about what FSX does to your video memory:http://forums.avsim.net/dcboard.php?az=sho...59572&mode=fullPrimary RigLiquid CooledIntel C2D E6600 @3.2 gigsAsus P5N32SLI-Plus2 gigs Corsair XMS PC6400 4 4 4 12 @810Dual OC'd XFX 8800GTX @ 2 gigs24 inch Widescreen LCD 16XAA/16XAFDual 19 inch LCD'sRaid-0+1PCPower and Cooling 1k Quad SLIhttp://home.comcast.net/~psolk/3monitorsa.htmlBackup RigAMD 4000 San Diego @ 2.72 Gigs Kingston Corsair XMS CL2XFX 7900 GTX Raid-0psolk.jpg


Have a Wonderful Day

-Paul Solk

Boeing777_Banner_BetaTeam.jpg

Share this post


Link to post
Share on other sites

>Not that I doubt you but you don't see any calls for non existent cab files? My results do show attempts to open non-existent .cab files but only during the start-up phase of FS9 and not when it is actually flying.>Multiply this times 10 hours of simming with the PMDG and I bet it adds up.That's not applicable if these calls only occur during the start-up stage.>FS doesn't have any .cab files to the best of my knowledge.Yes it does. Look in the default Gauges folder for examples.>Since the memory consumed to search for the .cab files can't be returned to the O/S what happens?Why should there be any loss of memory involved in searching for a file? To the best of my knowledge and experience (starting with C on MS-DOS) low-level file-system calls do not retain any memory. I can see no reason why a function to open a file should need to retain any memory. Functions that read from the file to memory use memory for the data read, but that memory will be requested by the application in advance of the read operation.My own experience is that memory OOM errors are caused by the application requesting Virtual Memory from the OS and then not handing it back when it's finished with it. (The only execption I know was with Win98 where using certain C standard library functions in threads could cause a small memory leak. This was avoided using the equivalent Win32 functions instead of the C standard library functions.)What evidence have you that virtual memory is lost?>Best of all please tell me why it is looking for an FS9.Cab?Some aircraft do use .cab files, others don't. The most general way to check for the existence of a.cab file is to attempt to open a .cab file. If it succeeds then FS knows to get the individual files are in the .cab file, otherwise they're elsewhere. This is a perfectly acceptable and common way of deal with this situation.

Share this post


Link to post
Share on other sites

This has been a really cool learning experience for me but I do still have questions. I do see ongoing references to .cab files that are non-existent files throughout flight but if that isn't affecting memory virtual or physical then so be it. Is memory allocation only taking place after an _CREATE and not on an _OPEN? I thought anytime you performed an _OPEN you were pre-allocating a little bit of memory to be mapped. I still don't understand why programs like HeavyLoad (linked above) can exhaust all of your system resources on a 32 bit O/S and run for days but F/S exceeds the O/S limitations and dies. Maybe I am simplifying taking the approach that there are applications designed to TRY to crash your system and a stable system can run them indeterminably but then FS will crash with an OOM after minutes to hours. Doesn't that point to an issue with the app? Ok OK, I know it is the add-ons.Seriously though the last time I saw an OOM prior to FS was Exchange Server and that was ported.Thanks for all the great info...What are your thoughts on this...MS has said that the sliders right now in FSX are designed to be run at around 50% which equals 100% in FS9. They have also stated the full sliders are for future h/w and not for todays systems. My question is how is that is going to work if the h/w is still limited by a 32 bit O/S? If anything isn't it going to get worse as DX10 starts to require higher memory video cards for all and more and more people start chopping into that limited available memory? The whole argument that sliders were designed for future H/W could be null if the O/S can't run it...Thanks again,-Paul


Have a Wonderful Day

-Paul Solk

Boeing777_Banner_BetaTeam.jpg

Share this post


Link to post
Share on other sites
Guest SKireyev

Paul--Remember me? We used to battle OOMs together and compare notes. I've noticed you have mentioned that you haven't had one since you swapped the video card? I remember you had a 7800GTX, right? The reason I ask, is because I have just read a topic on a PMDG forum about a guy who did a /3gb switch, and has a 7900GT. I have that same card. Could be just a coincidence, but at this point I am willing to try just about anything.My OOM seems to be localized to around England geographically it seems, which is quite annoying when you fly for BA Virtual into EGLL and EGKK all the time.Cheers,

Share this post


Link to post
Share on other sites

Just out of interest I checked how files were opened in MS-DOS 2.0 upwards. (That was the last time I used low-level file access.)First the processor reqisters were loaded as follows:AH Ox3DAL 0 = read only. 1 = write only, 2 = read/writeDX offset of pointer to string containing the file path and nameDS Segment of pointer to string containing the file path and nameThen Call interupt 0x21 after which:AX holds the handle to the opened file, or the error code if the file couldn't be openedFlag register carry bit is set if the file couldn't be opened.No memory requirements there!

Share this post


Link to post
Share on other sites

Then I absolutely apologize and retract for my comments about using unnecessary memory...Thanks for clearing it up and keeping it non-personal,-PaulPrimary RigLiquid CooledIntel C2D E6600 @3.2 gigsAsus P5N32SLI-Plus2 gigs Corsair XMS PC6400 4 4 4 12 @810Dual OC'd XFX 8800GTX @ 2 gigs24 inch Widescreen LCD 16XAA/16XAFDual 19 inch LCD'sRaid-0+1PCPower and Cooling 1k Quad SLIhttp://home.comcast.net/~psolk/3monitorsa.htmlBackup RigAMD 4000 San Diego @ 2.72 Gigs Kingston Corsair XMS CL2XFX 7900 GTX Raid-0psolk.jpg


Have a Wonderful Day

-Paul Solk

Boeing777_Banner_BetaTeam.jpg

Share this post


Link to post
Share on other sites
Guest TomOOO

No problem with machine code with memory leaks, but FS9 is writtenin a higher level language where it is quite possible to be stupid. The known problem of empty texture folders will resultin a memory leak - the following is a piece of pseudo code - it isnot proper computer language - and the problem with it is very simpleto spot. It is not real FS9 code, it just represents the typeof error that would cause this problemThe problem is that when we have many 100,000 lines of code and a dead-line to reach it is very simple to forget to handlesuch a thing. Is close to me ? (Notice we need a position to know if we are close)(we need it open if user can see texture so we can render texture) NO : If name is not NULL: free name, and free position. YES Is the texture file open already ? YES : then I have a reference - so don't open it NO : then open the file file Exists ? YES : create file pointer create 2 floats to store position NO : save the name as NULL mark (bad idea) create 2 floats for position So what is the problem with this? Well I store a list of open files and positions of this textures.If we are near in position to a texture we need to open it. Butif it is already open then we don't need to open it again (openinga file is costly). If we are too far from this texture then close it.The problem comes if the texture file is missing. I made the simplemistake, If the name is correct then I free the memory. The problemcomes as I have marked the missing texture with a NULL pointer, soI don't clear the memory of the position = 2 floating point numbers.Each FPS of the flight I will try and open the missing texture. Thisis handled correctly. The problem is that I store information onthe missing texture marked with a blank (NULL), so don't free theposition of the missing texture. I therefore throw lots of missingfile errors (costly), and create lots of position references which I never delete.Why would a programmer be that stupid. Well, you have 20,000 lines of code to write this month cos the release date is close, and youjust forgot that the logic of this code is wrong. The size of the memory leak is not big (you spot those really quick)and also it only happens when the something is not correctly installed (empty texture folder) - so no-one saw the error in QA.That is how OOM happen when there is a mistake in the code.OOM also happen when things are correct because...1) Move to position - I can see addon complex airport Open 1000 textures cos I can see these Open 100 building definitions cos I can see these Each building has 100 different textures (up to 10,000 now) Open all the packing places textures, trees, etc. 2) render the add plane Render the 1000's textures, dials, guages - load dll. 3) Apply AF and AA, Oh look this took 2.1 Gbytes of memory cos it was very complexto handle all those textures/mesh/planes... OOM Could handle every one of those 1,000,000 textures with a "catch"on memory. But this takes 1 clock cycle for each catch. Ouch - 1,000,000 clock cycles to check the user has not loaded up theirsystem with the latest and greatest everything.Compromise, compromise, compromiseSorry - got carried away againTom

Share this post


Link to post
Share on other sites
Guest SKireyev

How about an OOM with no mesh, default EGLL, but with a PMDG 744 and Active Sky, and all that on final, after a 7.5 hr flight. Can you explain that through loading of textures. The issue is that some of us, even with decent setups, and 1/10th of addons of other folks still had OOM issues. Happened to me at EGLL, happened to me at KJFK, both on default sceneries.Something else has got to be going on there.

Share this post


Link to post
Share on other sites

Hey Sergey,Shoot me a quick email and I will talk to you about the 8800 cards. It is weird that as I went to more video memory which eats into the O/S even more the OOM's went away...Email me,-Paul Primary RigLiquid CooledIntel C2D E6600 @3.2 gigsAsus P5N32SLI-Plus2 gigs Corsair XMS PC6400 4 4 4 12 @810Dual OC'd XFX 8800GTX @ 2 gigs24 inch Widescreen LCD 16XAA/16XAFDual 19 inch LCD'sRaid-0+1PCPower and Cooling 1k Quad SLIhttp://home.comcast.net/~psolk/3monitorsa.htmlBackup RigAMD 4000 San Diego @ 2.72 Gigs Kingston Corsair XMS CL2XFX 7900 GTX Raid-0psolk.jpg


Have a Wonderful Day

-Paul Solk

Boeing777_Banner_BetaTeam.jpg

Share this post


Link to post
Share on other sites

Do you still get OOM errors when not using the PMDG aircraft and Active Sky?

Share this post


Link to post
Share on other sites
Guest SKireyev

I don't know if I ever tested sans Active Sky, but I did get an OOM with a PSS 777 as well, so I am pretty certain it wasn't the 744.

Share this post


Link to post
Share on other sites
Guest Ruahrc

>How about an OOM with no mesh, default EGLL, but with a PMDG>744 and Active Sky, and all that on final, after a 7.5 hr>flight. Can you explain that through loading of textures. The>issue is that some of us, even with decent setups, and 1/10th>of addons of other folks still had OOM issues. Happened to me>at EGLL, happened to me at KJFK, both on default sceneries.>Something else has got to be going on there.>Do you tend to do a lot of view switching when on approach/final? I.e. take a quick peek outside your airplane to check out that dangling gear, flaps, etc. then go back inside to fly the plane, then switch to the passenger seat to see the rising ground pass by underneath...? I have noticed that excessive view switching can exacerbate the issue due to what I believe is unoptimal texture loading code in FS9.In some earlier testing I had done, I too was able to crash my sim using just the PSS757 addon, parked on the ramp in Melbourne, Austrailia (an area in which I have NO addons). I was able to crash it by repeatedly switching from 2D cockpit view to spot view, back to 2D, back to spot, etc at a frequency of about once every 10-15 seconds.This makes me wonder if there either is an inefficiency in the texture loading code, or if addons installed in faraway lands are still affecting FS9 performance no matter where you go. The second theory may have some credit given to it for I have seen myself filemon logs that I have generated that have FS9 references to scenery .bgl files located in Africa when I was flying over the USA. They do generate a SUCCESS but are read over and over and over, which probably adds up over time. This is why I wonder if disabling addons really will help because if I fly in the USA and disable all the addons in the Middle East, they should never have been loaded into FS memory in the first place? Or do I need to disable addons in the area in which I fly only? I can't make a flight from Seattle to Dallas but just the other day I took off from Detriot and made it all the way to Paris with no OOM. I do have UTUSA and UTCan installed but not UTEur.The first theory also may have an effect because if you watch the FS9.exe memory allocation in the Task Manager, you will notice that there is about a 10-second grace period in which FS9 will hold on to those external aircraft textures. After about 10 seconds, FS9 determines that you are in the 2D cockpit for a while and unloads those textures. By exploiting this behavior one can "grow" the memory allocation of FS9.exe a lot by switching views.I also should add some of my experiences with OOM and my system configuration. I have a single 256MB video card installed and 2GB of physical RAM. Another 2GB of pagefile allocation gives me the theoretical 4GB maximum available address space of the 32-bit OS. So, with my "low memory" 256MB video card, why do I still get the OOM? I think the problem is twofold. One, if you have a lot of video RAM, the 2GB of system memory allocation gets squeezed. But, if you do not have too much video memory, and there is plenty of room to allocate system components into the "windows" 2GB of memory, FS9 can still overrun its own 2GB limit giving you the same problem. Is that right? Or am I mistunderstanding something here.It is pretty clear at this point that we have simply pushed FS9 beyond the limits of what it was originally intended to do. One can debate the philosophy of "proper coding" forever but the way I see it, the developers of MSFS wrote the code to be robust under the default conditions and although they probably expected that addons would come and add some load to the system, nobody probably imagined the amount and complexity of addons that exist today would ever come to pass (especially things like Ultimate Terrain which provide detailed road and water data, orders of magnitude more detailed than the default, and covering entire continents). So, had the developers known at the time of coding that addons would come out that actually would use up all 2GB of address space, they may have worked a little harder on the memory mangement within FS9. The sad part, however, is that apparently this problem still exists on FSX and that, due to the increased complexity of the program, the OOM comes much sooner. As others have pointed out, the only real solution here is to either fix the code (which will not happen) or to address the problem down the road in the next version of FS which will need to be compiled in 64-bits. In the meantime, however, I think we need to come up with some guidelines as to what can be done to "de-bloat" an installation of FS9, and that will help people optimize their installations to match their flying styles (i.e. transoceanic heavy-iron pilot or bush flyer) which may even involve multiple instances of FS9 for different uses (as above, an IFR setup and a bush flying setup)Ruahrc

Share this post


Link to post
Share on other sites
Guest SKireyev

You know, what's interesting is that I got the sim to crash at KJFK one time on taxi with the 744 (trying not to clip a building too close to a taxiway) by switching the view to the outside back and forth too quickly (twitchy trigger finger :)). That being said, however, on final I don't do any switching around... at all! Usually, the OOM happens right around 200-400 feet AGL, fully established on a CAT III approach into EGLL or EGKK. Mesh or no mesh, scenery or no scenery, different AFCADs tried, different traffic packages tried, and the problem is intermittent. I can have an OOM one day, refly the flight another day with the SAME weather, flightplan, ground textures, settings, and programs running, and land safely with no issues. For the first time ever, a few days ago, my computer crashed while passing FL200 over England on descent (FAJS-EGLL: 11 h into the flight). The sound screeched, screen went black, and the computer started rebooting. Funny enough, I checked the memory use seconds before that, and I was hovering around 1.36-1.39 Gb. No wonder the sim crashed. But, I think this could have been an unrelated BSOD (updated graphics drivers recently, and with nVidia those are like a box of chocolates--you never know what you're gonna get).P.S. Paul, I e-mailed you, let me know if you got it.

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.
×
×
  • Create New...