"Curtis L. Olson" <[EMAIL PROTECTED]> said: > Geoff Reidy writes: > > The major problem I have with fgfs is that I seem to hit a race > > condition where all graphics and sound stop for extended periods of time > > (up to about 30 secs), long enough for autopilot (or me!) to lose > > control and the plane will always crash. > > During this time there is no disk access happening or lack of memory, > > fgfs still uses 99% CPU. > > Doesn't make any difference whether I use the Mesa files or not. Tried > > compiling with/without random-objects and threading. > > Tried running with textures disabled, 16 or 24 bit. > > > > It happens after covering a certain amount of terrain. It doesn't matter > > if I'm flying the A4 or a Cessna I will go down about 1000km north of > > Sydney, give or take a couple of hundred. > > Over other parts of the world I usually get further but it always gets > > me in the end. The program itself never crashes. > > > > It's been happening since before version 8.0 came out but noone else > > seems to have the problem? I had put it down to some gcc3.2 weirdness > > but others are using it now. > > > > I can sometimes precipitate it by switching to tower view, will get a > > white screen, elevation goes to 40000 ft or so, sound stops, oh-oh. > > This most likely relates to freeing tile memory (i.e. moving old tiles > out of the cache and reclaiming their memory.) This was never a fast > process and could result in frame rate glitches. When David added > random ground cover objects, the problem got *really* bad because the > scene graph structure of a tile got a lot larger. David and I worked > really hard to optimize that, and I further worked on a partial tile > free-er so we could spread the load out over multiple frames. This > should have been all fixed by version 0.8.0 so that you should see > very little frame rate impact when you cross a tile boundary. What > version of flightgear are you running? >
This discription sounds like a problem that I think I've seen, but haven't tracked down. It seemed as though the tile cache is getting clogged up with unusable entries (this was 2 or 3 months ago btw). IIRC I traced this through to plib to make sure everything was being deleted, but still couldn't verify this was happening. Of course with time, all the tiles for the tower view will be released, and they will require reloading, if tower view is not used. Normally the tiles under the FDM location will be kept "current" by the code that queries for ground elevation (see end of Main Loop) when the FDM location is not the current view (as in tower view). I don't have time to look right now, but I assume that the code still updates the timestamp for tiles whenever the tilemgr.update() is run as it was a couple months ago. In any case if the capacity of the tile cache is dimminished somehow, maybe with the timestamps getting screwed up, or all the tiles including the one under the FDM location end up with the same timestamp (or the timestamp isn't kept current--so it gets old--by the tilemgr update as mentioned in the previous paragraph), then the tile under the FDM location may get removed when switching to tower view by the reloading that is going on. This would explain the whacky elevation figure. Best, Jim _______________________________________________ Flightgear-devel mailing list [EMAIL PROTECTED] http://mail.flightgear.org/mailman/listinfo/flightgear-devel