Ditto Glenn's post. The big "gotcha" I ran into when I modified SimAuthor's
FlightViz to render only when necessary, was discovering just how much of
the application assumed and depended on a constantly-running render loop. No
doubt there are portions of OSG that also have such a dependency. For
example, isn't there a 1-frame latency in AutoTransform and Billboard?
   -Paul
 


  _____  

From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Glenn
Waldron
Sent: Thursday, November 15, 2007 1:25 PM
To: OpenSceneGraph Users
Subject: Re: [osg-users] OSG CPU usage


Ellery,

Be sure to account for the DatabasePager if you plan to use PagedLOD nodes.
You will have to check that the pager has no more work to do before stopping
your loop. Another thought... you may need to do something to prevent
PagedLODs from appearing to expire because the cull traversal isn't updating
their timestamps regularly...? 

-- 
Glenn Waldron : Pelican Mapping : http://pelicanmapping.com : 703-652-4791


On Nov 15, 2007 2:27 PM, Ellery Chan <
<mailto:[EMAIL PROTECTED]> [EMAIL PROTECTED]>
wrote:


I've tried writing a start-stop frame loop, and it seems to work fine. 
You have to make sure you know when objects are moving in the scene.  I
also added a periodic redraw (i used something between once a second and
once every 5 seconds) just so the app wouldn't get swapped out and have 
trouble waking up quickly.

Are there any other perceptual drawbacks to the start-stop approach,
assuming you can start and stop the frame loop reliably?

-ellery-


Bob Kuehne wrote:
> we'll have to agree to disagree. i think rendering when data hasn't
> changed is a bad use of system resources. what matters ultimately
> isn't frame-rate, but _perceived_ frame-rate, and if the user is 
> staring at an immobile object from an immobile view, 60Hz is no better
> than 1Hz.
>
> eof.
> b
>
> On Nov 15, 2007, at 10:43 AM, Robert Osfield wrote:
>
>
>> On Nov 15, 2007 3:19 PM, Bob Kuehne < [EMAIL PROTECTED]> wrote:
>>
>>> in fact, what paul says is very similar to what i often do in test
>>> apps:
>>>
>>> while ( !viewer.done() ) 
>>> {
>>>        usleep( timeToSleepToGetMeToMyDesiredFrameRate );
>>>        viewer.frame();
>>> }
>>>
>>> in a more commercial-style app, i'd recommend only redrawing when 
>>> data
>>> actually
>>> changes. so in a cad app, when the user moves the mouse, or edits the
>>> data, in a
>>> flight sim, when the eyepoint, or any on-screen data changes, etc. 
>>>
>> Yikes, I don't quite agree with this.  All apps should have vysync on
>> for sure.  Interactive apps need't run a constant frame loop - and can
>> just dispatch a frame when users moves the eye point, etc.  However, 
>> for simulators and games the frame loop is critical, it is what needs
>> to run a solid frame rate and locked to vysync, you shouldn't try to
>> drive simulators like interactive applications, and flight sim is a 
>> great example of something that should run at a solid frame.
>>
>> Robert.
>> _______________________________________________
>> osg-users mailing list
>> osg-users@lists.openscenegraph.org
>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
<http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org> 
>>
>
> bob kuehne
> founder and ceo - blue newt software
> www.blue-newt.com    734/834-2696
>
>
> _______________________________________________ 
> osg-users mailing list
> osg-users@lists.openscenegraph.org
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>
>
>
>

_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org




_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to