hi robert, i did a review of osgDB::DatabasePager and got some questions, or remarks....
******************************************************************************************************************* ../src/osgDB/DatabasePager.cpp @ Ln72 #if __APPLE__ // OSX really doesn't like compiling display lists, and performs poorly when they are used, // so apply this hack to make up for its short comings. _drawablePolicy = USE_VERTEX_ARRAYS; #else _drawablePolicy = DO_NOT_MODIFY_DRAWABLE_SETTINGS; #endif I don't believe that this is just an __APPLE__ performance problem. The problem is that on ATI Cards, most of APPLE OS/X computers are based on ATI, nowadays latest MacBooks Pro have NVIDIA, but most Apple Computers are based on ATI cards. And as we know, that on ATI DisplayList compiling is really poorly implemented, i propose to read vendors back from the graphics card, and if we were working on ATI based graphic system, we switch directly to vertex arrays. glVender.string.has("ATI") => vertex arrays ******************************************************************************************************************* ../src/osgDB/DatabasePager.cpp @ Ln290 OpenThreads::ScopedLock<OpenThreads::Mutex> lock(_dataToCompileListMutex); for(DatabaseRequestList::iterator litr = _dataToCompileList.begin(); litr != _dataToCompileList.end() && !foundEntry; ++litr) { if ((*litr)->_fileName==fileName) { foundEntry = true; (*litr)->_frameNumberLastRequest = frameNumber; (*litr)->_timestampLastRequest = timestamp; (*litr)->_priorityLastRequest = priority; ++((*litr)->_numOfRequests); } } ... if we have a huge database with many level of request, once had more than 200(!) requests per frame [calls of requestNodeFile]. then we have to walk trough the database say sum of i from 1:x = (x*(x+1) )/ 2, instead of log(x), i propse to use a std::map or a std::multimap instead of a std::list of database request. of course we will use more memory, but the performance can be increased. (called in each cull pass / at each frame ) => Time Critical ******************************************************************************************************************* /adegli
_______________________________________________ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org