On 25. Apr 2014, at 12:24, "cpapado [via Software]" <[email protected]> wrote:
> My main concern with keeping a local copy of the scene graph in the config's > main thread is the "threat" of random OpenGL calls happening without the > presence of an OpenGL context. Now, my understanding is that OSG doesn't > really do that without an explicit request for a frame, but it still feels a > bit "dirty" from a software engineering perspective to duplicate a piece of > information that exists on the same machine and in the same process if there > is a way to cleanly get access to it without hamstringing EQ's performance. You could use the same copy of the SG if you use the default draw_sync threading model. The copy would then be maintained by the config, and only the lazy-load access method needs to be locked. eqPly uses a similar model, although with a static "SG" and async thread model. In draw_sync, frameFinish is only unlocked after your local Channel::frameDraw are completed, therefore you can modify the manipulator in handleEvents without locking. Using the Config to store and lazy load the SG would then even work for appNodes without a pipe render thread, and no duplication does occur when its not needed. HTH, Stefan. -- http://www.eyescale.ch https://github.com/Eyescale/ http://www.linkedin.com/in/eilemann signature.asc (858 bytes) <http://software.1713.n2.nabble.com/attachment/7585389/0/signature.asc> -- View this message in context: http://software.1713.n2.nabble.com/Communicating-information-FROM-the-rendering-code-to-the-application-logic-tp7585385p7585389.html Sent from the Equalizer - Parallel Rendering mailing list archive at Nabble.com. _______________________________________________ eq-dev mailing list [email protected] http://www.equalizergraphics.com/cgi-bin/mailman/listinfo/eq-dev http://www.equalizergraphics.com

