Re: pfDBase question

New Message Reply Date view Thread view Subject view Author view

John Rohlf (jrohlf++at++tubes)
Mon, 12 Feb 96 10:05:53 PST


>
>
> In Performer 2.0 the man pages of pfDBase mention the following:
>
> > If a database function has been specified by pfDBaseFunc, it must call
> > pfDBase to carry out default IRIS Performer database processing. pfDBase
> > should only be called from within the DBASE callback in the DBASE process
> > just like pfCull and pfDraw should only be called in the pfChannel CULL
> > and DRAW callbacks (pfChanTravFunc) respectively. If a database function
> > has not been specified or is NULL, IRIS Performer automatically calls
> > pfDBase from pfFrame.
>
> Now suppose that my DBASE callback function takes more than a frame to complete.
> Lets say 20 frames as an example. This could be possible when loading a big terrain tile. This will have the consequence that the pfDBase
> function will also be called only every 20 frames instead of every frame.
> ( I know it is a bit unrealistic to say the my DBASE callback will allways
> take 20 frames to complete but lets assume that for this example ).
>
> I would like to know what are the consequences on the "default IRIS Performer
> database processing" when this arises. Does this means that minor changes to
> the scene graph that may have been made in the APP process will be also delayed until pfDBase is called?
>
> What is the exact role of the pfDBase function beside carrying user
> specified pfBuffer requests?

        The default DBASE processing is to free()/afree() all memory
        that was pfDeleted/pfAsyncDeleted so the time-critical APP_CULL_DRAW
        pipeline is not impacted. Unless you are really tight on memory
        I don't see any problems with DBASE going away for a long time.


New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2.0b2 on Mon Aug 10 1998 - 17:52:24 PDT

This message has been cleansed for anti-spam protection. Replace '++at++' in any mail addresses with the '@' symbol.