1
0
Fork 0
No description
Find a file
curt cc3d0221ea Make a subtle change to tile loading/unloading policy in order to make the tile
paging system much more robust when position change is very rapid and sporadic.

Recall that we must load 3d models in the main render thread because model
loading can trigger opengl calls (i.e. with texture loading) and all opengl
calls *must* happen in the main render thread.

To accomplish this we load the base tile in the pager thread and build a work
queue of external models that need to be loaded.  We never allow a tile to be
paged out of the tile cache until all it's pending model loads are complete.

However, when changing position very rapidly, we can quickly create a huge
backlog of pending model loads because we are changing positions faster than we
can load the associated models for the existing tiles.  The end result is
that tiles that are long out of range can't be removed because there is still
a huge backlog of pending model load requests and memory blows up.

This change being committed allows the tile paging system to remove tiles
if they are out of range, even when there are pending models to load.  The
model loading code in the render thread can now check to see if the tile
exists and discard any model load request for tiles that no longer exist.

This situation should never occur in normal operation, but could occur in
"contrived" situations where an external script was rapidly changing
the simulator position to then be able to query FG terrain height, and doing
this for a large number of points that are distributed across a large area.
2004-09-15 15:52:05 +00:00
docs-mini Make notion of -1 for count 2004-09-12 17:06:35 +00:00
examples/netfdm Add an example implementation for the NetFDM structure. 2004-04-27 08:55:04 +00:00
man Cameron Moore: 2003-10-23 15:53:32 +00:00
package Incorporate some of the changes from the Linspire diff. 2004-06-06 14:28:45 +00:00
scripts A couple tweaks/optimizations to the script. 2004-09-13 21:47:32 +00:00
src Make a subtle change to tile loading/unloading policy in order to make the tile 2004-09-15 15:52:05 +00:00
tests Incorporate some of the changes from the Linspire diff. 2004-06-06 14:28:45 +00:00
utils Various tweaks for v0.9.5-pre1. 2004-07-15 18:07:02 +00:00
.cvsignore Ignore generated GPL. 2004-04-04 20:56:26 +00:00
acinclude.m4 Fix a typo. 2002-09-03 04:52:32 +00:00
am2dsp.cfg Updated am2dsp.cfg from Bernie. 2002-04-22 22:42:23 +00:00
AUTHORS Initial revision. 1998-05-23 18:09:09 +00:00
autogen.sh Fixes to better support the native irix compilers. 2002-09-06 17:30:21 +00:00
ChangeLog Updated ... 2001-06-18 22:25:59 +00:00
configure.ac Preparations for the 0.9.6-pre1 release. 2004-09-10 18:34:00 +00:00
FlightGear.dsp Updates for 0.9.6-pre1. 2004-09-10 19:34:56 +00:00
FlightGear.dsw Initial revision. 2000-10-16 22:02:10 +00:00
Makefile.am bzip2 the base package by default. 2004-09-15 15:41:33 +00:00
NEWS Updates for 0.9.6-pre1. 2004-09-10 19:34:56 +00:00
README Updates. 2000-02-15 23:32:26 +00:00
Thanks Add the AIModel based air traffic subsystem from Durk Talsma. 2004-06-03 17:59:14 +00:00

Welcome to the FlightGear Flight Simulator project.
===================================================

The primary web page for this project is: http://www.flightgear.org

For basic installation instructions see the "INSTALL" file.

Before you can run FlightGear you will also need to download and
install the "base" package which is a collection of textures, sounds,
sample scenery, and other data files need by the sim.

For additional install help for specific platforms please browse the
"docs-mini/" subdirectory.

More complete documentation is available from our web page as a
separate distribution.

Please take a look at the "Thanks" file for a list of people who have
contributed to this project.  If you have contributed something but
don't find your name in this file.  Please send a polite reminder to
curt@flightgear.org

For a summary of changes/additions by version see the "NEWS" file.

This project is GPL'd.  For complete details on our licensing please
see the "COPYING" file.

For information on available mailing lists, mailing list archives, and
other available source code and documenation, please visit our web
site.

FlightGear is a product of the collaboration of large international
group of volunteers.  FlightGear is a work in progress.  FlightGear
comes with no warrantee.  We hope you enjoy FlightGear and/or find it
of some value!