Sorry, I forgot to mention that.  I'm using version 2.9.2 from the trunk.

-Evan

On Fri, Apr 10, 2009 at 11:28 AM, Robert Osfield
<[email protected]>wrote:

> Hi Evan,
>
> Which version of the OSG are you using?
>
> Robert.
>
> On Fri, Apr 10, 2009 at 6:07 PM, Evan Andersen <[email protected]>wrote:
>
>> I'm working on an application which uses osgEarth to display terrain
>> databases to users.  I need the application to use as little CPU time as
>> possible while still providing good user interaction, so I have set my
>> viewer up so that it only renders when necessary.  I keep a loop running
>> that does the event and update traversals, but the renderingTraversals are
>> only done when requestRedraw or requestContinuousUpdate have been called.
>> This seems to work fine and to the user it generally beahves the same as
>> when the scene is continuously rendered.  However, when viewing the high
>> detail levels it database pager often gets stuck in a loop when it keeps
>> reloading a set of tiles over and over.  You see the tiles alternately go
>> blurry and then sharp again as the continously reload.
>>
>> I don't know what is causing this, but if I switch to continuous render,
>> so that every event and update traversal is followed by a render, the
>> problem does not occur.  It seems to happen most often loading earth files
>> with high-res data, like the yahoo or google test files, and then moving the
>> camera around at the high detail levels.  Unfortunately, I can't seem to
>> replicate the problem with an animation path.  I have attached a simple
>> viewer I created that implements the rendering method I described above.
>> The important code is in the viewer's frame function.  I've pasted it below
>> in case anyone can tell at a glance what I'm doing wrong.  If someone who
>> knows the database pager well could take a look at this I would really
>> appreciate it.
>>
>> Thanks,
>> Evan
>>
>>
>>         advance(simulationTime);
>>
>>         eventTraversal();
>>
>>         // If the database pager is going to update the scene the render
>> flag is
>>         // set so that the updates show up
>>         if(getDatabasePager()->requiresUpdateSceneGraph())
>>             needsRender = true;
>>
>>         updateTraversal();
>>
>>         if(needsRender || continuousUpdate)
>>         {
>>             renderingTraversals();
>>             needsRender = false;
>>         }
>>
>>
>> _______________________________________________
>> osg-users mailing list
>> [email protected]
>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>>
>>
>
> _______________________________________________
> osg-users mailing list
> [email protected]
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>
>
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to