Laurens Voerman
eeb13d1efc
clear temp objectCache in databaseRequest
2019-01-14 10:24:30 +01:00
Robert Osfield
0341d6f873
Removed reprecated C++ usage
2018-11-01 09:13:43 +00:00
Robert Osfield
a399e9ccb2
Re-ordered the creating of the DatagbaseThread to avoid startThread being called twice.
2018-03-25 12:14:46 +01:00
Remo E
36eb0e945f
Avoid call of SetupThreads in DatabasePager
...
This solves a bug with some shared library configurations. Sometimes the DatabasePager Singleton is initialised before one can call other configuration options like "setNumOfDatabaseThreadsHint". But OSG initialise it here:
https://github.com/openscenegraph/OpenSceneGraph/blob/master/src/osgDB/DatabasePager.cpp#L1555
So this call is not needed?!
2017-04-28 16:51:34 +02:00
Robert Osfield
ee97db3488
Introduced OpenThreads::Affinity support into osg::Camera, osg::GraphicsContext::Traitse, osgDB::DatabasePager and osgViewer::ViewerBase/Viewer/CompositeViewer.
...
Added ViewerBase::configureAffinity() to help with the setting of the affinity of camera, graphics context and pager threads
2016-10-07 12:17:03 +01:00
Robert Osfield
77c5e96ccb
Added DatabasePager::setProcessorAffinity(const OpenThreads::Affinity&) support to allow the database threads to have affinity to user controls sets of CPU cores.
2016-10-07 12:17:03 +01:00
Robert Osfield
16d497ef80
Simplified DatabasePager::requires*() methods
2016-07-05 11:42:03 +01:00
Philippe Renon
22d53357d3
split requiresUpdateSceneGraph() into requires update and requires redraw (wip)
2016-07-04 23:19:20 +02:00
Philippe Renon
e23a30652d
streamline DatabasePager::requiresUpdateSceneGraph()
...
would trigger unnecessary redraws when there were pending file requests or active database threads
tested ok with and without IncrementalCompileOperation
2016-07-04 21:42:19 +02:00
Robert Osfield
4deca2d38b
From Jannik Heller and Robert Osfield, introduced ReadResult/WriteResult::statusMessage() method that creates a std::string from the stutus value and message string.
2016-01-25 12:23:04 +00:00
Robert Osfield
27962a73ee
Introduced usage of OSG_INIT_SINGLETON_PROXY into DatabasePager::prototype() and Registry::instance(), removing the InitRegistry proxy object in src/osgViewer/ViewerBase.cpp.
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@15147 16af8721-9629-0410-8352-f15c8da7e697
2015-10-05 10:58:32 +00:00
Robert Osfield
4073910ce8
From Mike Connell, "Give ReadFileCallback access to parent location : These small changes to the database pager allow user code in the ReadFileCallback to safely determine where the file being loaded is destined to be inserted into the scenegraph.
...
"
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14899 16af8721-9629-0410-8352-f15c8da7e697
2015-06-08 11:18:24 +00:00
Robert Osfield
f8d53b7c8d
Build fix for when ref_ptr<> auto conversion is disabled
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14565 16af8721-9629-0410-8352-f15c8da7e697
2014-12-04 15:10:43 +00:00
Robert Osfield
25cfb81a09
Refactored the handling of use of the osgDB::ObjectCache in the DatabasePager to use a local thread specific ObjectCache to handle new additions and
...
then have these additions merged with the main Registry ObjectCache during the main loop.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14474 16af8721-9629-0410-8352-f15c8da7e697
2014-11-13 09:40:11 +00:00
Robert Osfield
0e9c93f335
To handle thread safe paging and use of the osgDB::Registry ObjectCache, moved the handling of cache into osgDB::DatabasePager.
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14472 16af8721-9629-0410-8352-f15c8da7e697
2014-11-10 16:04:43 +00:00
Robert Osfield
a84df15c0a
Introduced use of MarkerObject to IncrmentalCompileOperation/DatabasePager as a way of marking objects that have already been processed and compiled,
...
thus avoid potential threading conflicts when paged subgraphs are reused.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14470 16af8721-9629-0410-8352-f15c8da7e697
2014-11-06 10:40:54 +00:00
Robert Osfield
28a676e105
Replaced use of while(isRunning()) { YieldCurrentThread(); } style loops with use of join() to avoid false positives being reported by valgrind when using the helgrind tool for thread debugging.
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14460 16af8721-9629-0410-8352-f15c8da7e697
2014-11-04 10:46:59 +00:00
Robert Osfield
097aedf23c
From David Callu, warning fixes and removal of spaces at end of lines.
2013-06-28 12:00:43 +00:00
Robert Osfield
14a563dc9f
Ran script to remove trailing spaces and tabs
2012-03-21 17:36:20 +00:00
Robert Osfield
70dfd11531
From Tim Moore,
...
Fixes to race in DatabasePager where a parent PagedLOD
of newly loaded subgraph has been expired.
Clean up of visitor naming to make it clearer what role it has.
2011-03-30 15:15:07 +00:00
Robert Osfield
e0924886bd
Added support for enabling the assignment of PixelBufferObjects to loaded Images to aid the download of images to the GPU.
...
Feature can be enabled/disabled (default) by setting the env :
OSG_ASSIGN_PBO_TO_IMAGES to ON or OFF
2011-02-04 12:43:00 +00:00
Robert Osfield
88f9e7dda8
Fixed the setting of the Drawable modes
2011-02-01 12:18:47 +00:00
Robert Osfield
abea92ee91
From Mathias Froehlich, build fixes
2011-01-24 21:12:25 +00:00
Robert Osfield
bf99528322
Build fix
2011-01-18 09:54:47 +00:00
Robert Osfield
11cd5a89ed
Implemented better coupling of DatabasePager and IcrementalCompileOperation,
...
removing functional duplication and opening the door to dynamic enabling/disabling
of pre compile based on load.
2011-01-17 17:17:19 +00:00
Robert Osfield
f61a6aa4e7
Refactored the way that the DatabasePager passes the Terrain decorator node onto the TerrainTile.
...
The DatabasePager now passes the Terrain pointer into the ReaderWriter's via osgDB::Options object,
rather than pushing a NodePath containing the Terrain onto NodeVisitor. This
change means that the DatabasePager nolonger needs to observer the whole NodePath and
will be lighter and quicker for it.
The change also means that ReadFileCallback can now run custom NodeVisitor's on the scene graph without
having to worry about TerrainTile's constructing scene graphs prior to the Terrain being assigned.
Also changed is the NodeVisitor::DatabaseRequestHandler which now requires a NodePath to the node that you wish
to add to rather than just the pointer to the node you wish to add to. This is more robust when handling scenes
with multiple parental paths, whereas previously errors could have occurred due to the default of picking the first
available parental path. This change means that subclasses of DatabasePager will need to be updated to use this new
function entry point.
2011-01-12 19:29:24 +00:00
Robert Osfield
149200f0e9
Fixed warnings
2010-12-23 13:11:15 +00:00
Robert Osfield
410b4fd109
Converted FrameStamp::g/setFrameNumber from int to uint
2010-12-22 20:11:05 +00:00
Robert Osfield
b5d4d9954a
From Tim Moore, Dereference the databaseRequest while the queue is locked. This prevents the request from being
...
deleted at an unpredictable time within addLoadedDataToSceneGraph.
2010-12-21 12:54:06 +00:00
Robert Osfield
7507242891
Cleaned up the frame number increment.
2010-12-21 09:36:03 +00:00
Robert Osfield
4b4b438d44
Removed redundent MinimumNumberOfTextureObjectsToRetainInCache static variable
2010-12-14 15:28:31 +00:00
Robert Osfield
017a03ffe5
Refactor of DatabasePage/IncrementalCompileOperation to use the IncrementalCompileOperator for compiling objects
2010-12-10 15:27:19 +00:00
Robert Osfield
1b42084217
Fixes for benign threading memory contentions.
2010-12-08 09:52:58 +00:00
Robert Osfield
88a76e7b69
From Brad Christiansen, commented out debug messages
2010-12-02 13:53:10 +00:00
Robert Osfield
0739c15e0a
Removed deperecated variables that are no longer used.
2010-11-29 09:32:43 +00:00
Robert Osfield
78cdf41d53
From Michael Platings, "the build is broken if you have the OSG_REF_PTR_IMPLICIT_OUTPUT_CONVERSION turned off - the attached files fix this."
2010-11-22 17:37:35 +00:00
Robert Osfield
1a292ad8e3
Integrated IncementalCompileOperation into DatabasePager.
...
Improved various facilities in IncrementalCompileOperation.
2010-10-21 16:29:23 +00:00
Robert Osfield
6ed74470b2
Introduction of IncrementalCompileOperation support to DatabasePager.
2010-10-14 18:16:03 +00:00
Robert Osfield
8f2497e21d
From Wojciech Lewandowski,"These are our changes to DatabasePager. To check if parent PLOD is registered, I resurrected PagedLODList::containsPagedLOD() method. This method was available some time ago, but got removed and was not currently present in trunk. To add this method I had to also modify the DatabasePager header. "
2010-10-01 15:37:35 +00:00
Robert Osfield
b1aedf30e0
Aded option for doing a glFlush() after compiling texture objects, with a dedicated compile thread default to issuing the glFlush.
2010-08-09 16:19:50 +00:00
Robert Osfield
208b2fc3d0
#if 0'd out debugging timing code for detecting deadlocks
2010-06-18 09:48:55 +00:00
Robert Osfield
f97c2b65b3
Added reporting of possible deadlock of paging thread
2010-06-16 15:53:57 +00:00
Robert Osfield
5c0fb93de8
Re-enabled call to ShareStateManager.
2010-06-16 08:09:13 +00:00
Robert Osfield
86a0aaf7f3
Added insertion of children found by the CountPagedLODsVisitor into the childrenRemoved list to make sure that they are caught
...
and then removed correctly from the PagedLODLists.
2010-06-07 17:08:53 +00:00
Robert Osfield
1d401f2333
Added size() and swap() methods to provide a thread safe way to keep track of size of a RequestQueue/ReadQueue.
2010-06-07 11:28:25 +00:00
Robert Osfield
bcebc9a23f
Added removeNodes method to prune any nodes that are going to be deleted from the PagedLODLists.
2010-06-07 09:05:58 +00:00
Robert Osfield
768f466365
Fixed double registeration bug.
2010-06-03 16:24:25 +00:00
Robert Osfield
634e55eee3
Fixed permissions
2010-06-03 16:02:01 +00:00
Robert Osfield
2ea6aa050e
Refactored the PagedLODList implementation so that it's now done via a base class that enables different implementations to be easily tried. Initial concrete PagedLODList is the SetBasedPagedLODList.
2010-06-03 14:14:40 +00:00
Robert Osfield
054d5606fb
From Tim Moore, "This is a patch that allows a ref_ptr to be constructed using an observer_ptr argument, which is locked. This is shorthand for declaring the ref_ptr and then passing it to observer_ptr::lock().
...
"
2010-06-01 11:28:04 +00:00