[osg-users] Questions about shared compile contexts and thread safety

Kouichi Yoshizawa kouichi.yoshizawa23 at gmail.com
Mon Nov 9 09:35:31 PST 2015


robertosfield wrote:
> Personally I'd keep things simply.  Reading/create/optimize the actual scene graph data in a background thread and then use the IncrementalCompileOperation to download objects from the new scene graph bit by bit so your application doesn't break frame.
> 
> 
> Potentially you could try compile context but having experimented with it in the past it can work with some platforms and not others, I wouldn’t recommend it.
> 
> 
> As a general rule, implement the actual functionality you need in a simple and straight forward way and if it performs how you need it your job is down, use the free time to go for a walk, spend time with family and friends etc. If performance isn't sufficient benchmark it, find out where the bottlenecks are, and only then if you really need to start looking for more complex solutions that might solve your problems.


I see what you mean, but the problem is that I'm already doing the above suggestions and my performance is still far from acceptable so something needs to be done. Using a separate thread for GPU transfers will enable what Nvidia calls a "copy engine" that can transfer data in parallel with the rendering, something otherwise not possible. This could potentially provide a huge benefit for my application since it is heavy on both rendering and GPU transfers, so I will try to experiment with making it work. So far it's looking very promising.

Many thanks,
Kouichi

------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=65586#65586








More information about the osg-users mailing list