Hi Yon,

I saw that but also saw that the osgViewer::Renderer has its own minimum time 
that is not settable by environment variable, and the resulting time is the 
minimum of the two values, one from the pager and the other from the Renderer ( 
both initially set to 0.001 ).

In my test build I set large values until the scenery is loaded, then restore 
the default values.

It also seems that large framerate ( more than 200 fps during splashscreen 
display, I even saw 600 at FSFO ) make the scenery load a bit longer. Curiouly, 
I see better loading time under Linux with an AMD Athlon XP 2400 and a NV 
FX5850, than under Windows with a Quad core i9450 and a GTX200. I am 
defragmenting my disk just in case.

-Fred


----- "Yon Uriarte" <yon.uria...@gmail.com> a écrit :

> Hi Fred,
> 
> 
> saw your message asking for some testing. I decided to post a new
> thread asking
> for more user testing:
> http://flightgear.org/forums/viewtopic.php?f=2&t=2812
> 
> 
> 
> 
> grep -r getenv OpenSceneGraph, possibly relevant env vars, some of
> them are changed in my patches:
> 
> 
> 
> F:\c\OSG\OpenSceneGraph\src\osg\DisplaySettings.cpp(356): if( (ptr =
> getenv("OSG_SERIALIZE_DRAW_DISPATCH")) != 0)
> 
> F:\c\OSG\OpenSceneGraph\src\osg\DisplaySettings.cpp(369): if( (ptr =
> getenv("OSG_NUM_DATABASE_THREADS")) != 0)
> 1 by default, 2 may help a little bit on multi-cores. set to #cores
> F:\c\OSG\OpenSceneGraph\src\osg\DisplaySettings.cpp(374): if( (ptr =
> getenv("OSG_NUM_HTTP_DATABASE_THREADS")) != 0)
> 1 by default, fgfs uses none. set to 0
> F:\c\OSG\OpenSceneGraph\src\osgDB\DatabasePager.cpp(805): const char*
> str = getenv("OSG_DATABASE_PAGER_PRIORITY");
> 
> neutral by default: set to LOW
> F:\c\OSG\OpenSceneGraph\src\osgDB\DatabasePager.cpp(842): str =
> getenv("OSG_DATABASE_PAGER_GEOMETRY");
> F:\c\OSG\OpenSceneGraph\src\osgDB\DatabasePager.cpp(843): if (!str)
> str = getenv("OSG_DATABASE_PAGER_DRAWABLE");
> 
> F:\c\OSG\OpenSceneGraph\src\osgDB\DatabasePager.cpp(872): if( (ptr =
> getenv("OSG_DELETE_IN_DATABASE_THREAD")) != 0)
> F:\c\OSG\OpenSceneGraph\src\osgDB\DatabasePager.cpp(929): if( (ptr =
> getenv("OSG_DO_PRE_COMPILE")) != 0)
> 
> recently changed from default ON to OFF. set to ON
> F:\c\OSG\OpenSceneGraph\src\osgDB\DatabasePager.cpp(938): if( (ptr =
> getenv("OSG_MINIMUM_COMPILE_TIME_PER_FRAME")) != 0)
> F:\c\OSG\OpenSceneGraph\src\osgDB\DatabasePager.cpp(943): if( (ptr =
> getenv("OSG_MAXIMUM_OBJECTS_TO_COMPILE_PER_FRAME")) != 0)
> F:\c\OSG\OpenSceneGraph\src\osgUtil\Optimizer.cpp(61): const char* env
> = getenv("OSG_OPTIMIZER");
> is this applied to all objects? maybe i look into this.
> F:\c\OSG\OpenSceneGraph\src\osgUtil\RenderBin.cpp(108): const char*
> str = getenv("OSG_DEFAULT_BIN_SORT_MODE");
> may be relevant on some weird hw mixes.
> F:\c\OSG\OpenSceneGraph\src\osgViewer\ViewerBase.cpp(78): const char*
> str = getenv("OSG_THREADING");
> 
> default "SingleThreaded". set to
> "CullThreadPerCameraDrawThreadPerContext"
> 
> 
> regards,
> yon
> 
> 
> On Sun, Jan 11, 2009 at 11:55 PM, Frederic Bouvier <
> fredfgf...@free.fr > wrote:
> 
> 
> 
> ----- "James Turner" a écrit :
> 
> 
> > On 11 Jan 2009, at 17:18, Frederic Bouvier wrote:
> >
> > > My findings on that is that the pager thread needs to compile
> > display
> > > list in the main loop, and this process is framerate dependent. At
> >
> > > that
> > > time of the initialisation, there is only the splashscreen on
> > screen,
> > > but its refresh rate slow down the loading process. For instance,
> I
> > > mesured it takes more than 1000 frames to display to correctly
> load
> > a
> > > terrain tile. Maybe there are parameters to tweak, like the number
> > of
> > > maximum display lists to compile each frames, and we could use
> more
> > > aggressive values until the scenery is displayed. Just a thought.
> >
> > Yon Uriarte has proposed a patch that limits the frame-rate to 60hz
> > during the splash screen. Would that fix the issue, by freeing up
> > cycles?
> >
> > The patch has been around since November and I ran it locally for
> many
> >
> > weeks without seeing any problems.
> 
> As I understand it, if you limit the framerate, you limit the slots
> the pager has to compile objects, as compilation is done in the draw
> thread, between two frames. I tried to give more time and allow the
> compilation of more objects between two frames by calling
> setMinimumTimeAvailableForGLCompileAndDeletePerFrame and
> setMaximumNumOfObjectsToCompilePerFrame on the pager and on the
> renderer but for me it makes no difference (there is no problem for
> me, even in the Paris area ). That's why I built a Windows binary to
> allow people with the problem to test the possible solution.
> 
> The binary is here :
> ftp://ftp.ihg.uni-duisburg.de/FlightGear/Win32/fgrun+fgfs-osg-win32-20090111.zip
> 
> -Fred
> 
> 
> 
> ------------------------------------------------------------------------------
> Check out the new SourceForge.net Marketplace.
> It is the best place to buy or sell services for
> just about anything Open Source.
> http://p.sf.net/sfu/Xq1LFB
> _______________________________________________
> Flightgear-devel mailing list
> Flightgear-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/flightgear-devel

-- 
Frédéric Bouvier
http://my.fotolia.com/frfoto/              Photo gallery - album photo
http://fgsd.sourceforge.net/               FlightGear Scenery Designer


------------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It is the best place to buy or sell services for
just about anything Open Source.
http://p.sf.net/sfu/Xq1LFB
_______________________________________________
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel

Reply via email to