On 6/27/07, Dirk Reiners <[EMAIL PROTECTED]> wrote:


        Hi Gabriel,

Gabriel Cirio wrote:
>
> we are working on a OpenSG cluster application with 4 servers and 1
> client. We are experiencing delays in the rendering nodes. It seems like
> the changelist is not being transfered immediately to the rendering
> nodes, since every change made to the client's scene graph takes an
> average of 10 seconds (depending on the size of the geometry loaded at
> the initialization on the client) to be drawn by the servers. For
> smaller geometry files, the delay does not exist and the system runs
> smoothly. Sometimes with the larger geometry files the servers seem to
> "catch up" with the client, reducing the delay progressively until it
> disappears and the system also runs smoothly. Moreover, the delay is
> different for all rendering nodes: one will display the changes at a
> given time, then another, then the first one will change again a little
> bit more, then a third node will catch up, etc, etc.

Hm, I haven't heard of that kind of behavior before. The catching up could
be
the initial caching of geometry that becomes visible for the first time.
Does
the catching up happen only when you move or is it faster when you stay
still?

How big are the models that you're using?

> We are using multicast with a ClusterWindow on the client side, and a
> ClusterServer+PassiveWindow on the servers. Has anybody experienced a
> similar behavior?

Nope, not that I know of.

> We would also be interested in having a blocking mechanism between all
> computers (the client and all the servers) on each frame, before the
> draw routine, like a barrier but among the cluster. Does OpenSG have
> such a mechanism?

The ClusterWindow doesn't do that. It's really more meant as a base class,
not
so much for end-user apps. Those should use a MultiDisplayWindow or one of
the
other derived Windows, which have that mechanism built in.


Thank you very much for your advice, it worked with the MultiDisplayWindow.
Since we don't want to use GLUT on the server side, we are not using
OSGGLUTWindow, but an external library (GLFW). We then have to use a
PassiveWindow, but if we use anything else than a PassiveViewport, nothing
gets drawn. Since we want to do stereo, we cannot use the StereoViewport,
and had to do the stereo "manually" in the draw routine by rendering each
viewport after each call to glDrawBuffer. Because of this we had to use some
workaround to separate the syncing from the rendering on the server side
(render on the client, doSync+swap on the server, and then render each
viewport on the server).

Is this the normal way of doing it? Is there a way to use the StereoViewport
with the PassiveWindow?
Thanks!

Gabriel

Hope it helps

        Dirk

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Opensg-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensg-users

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Opensg-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensg-users

Reply via email to