b0b6c34249
He writes: Here are the final changes to add threads to the tile loading. All the thread related code is in the new FGTileLoader class. ./configure.in ./acconfig.h Added --with-threads option and corresponding ENABLE_THREADS definition. The default is no threads. ./src/Scenery/tilemgr Removed load_queue and associated references. This has been replaced by a new class FGTileLoader in FGNewCache. Made the global variable global_tile_cache a member. schedule_needed(): removed global_tile_cache.exists() tests since sched_tile() effectively repeats the test. initialize_queue(): removed code that loads tiles since this is now performed by FGTileLoader. update(): ditto ./src/Scenery/newcache Added new class FGTileLoader to manage tile queuing and loading. tile_map typedefs are private. exists() is a const member function. fill_in(): deleted load_tile(): added. ./src/Scenery/FGTileLoader The new threaded tile loader. Maintains a queue of tiles waiting to be loaded and an array of one or more threads to load the tiles. Currently only a single thread is created. The queue is guarded by a mutex to synchronize access. A condition variable signals the thread when the queue is non-empty. CLO: I made a few tweaks to address a couple issues, hopefully what we have is solid, but now we kick it out to the general public to see. :-) |
||
---|---|---|
.. | ||
colours.h | ||
Makefile.am | ||
matlib.cxx | ||
matlib.hxx | ||
newmat.cxx | ||
newmat.hxx | ||
obj.cxx | ||
obj.hxx | ||
texload.c | ||
texload.h |