Robert, thanks for the very quick reply!
I want to use the compile context thread only for creating and compiling new geometry and textures while the draw thread is rendering the old objects. Is it then possibe to avoid conflicts with the GL objects? I have already identified that flushing deleted GL objects must in that case be done in the compile thread as well, but are there other such issues to be aware of? Is the IncrementalCompileOperation safe to use as-is with a shared compile context?
Thanks,
Kouchi
------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=65580#65580
Robert, thanks for the very quick reply!
I want to use the compile context thread only for creating and compiling new geometry and textures while the draw thread is rendering the old objects. Is it then possibe to avoid conflicts with the GL objects? I have already identified that flushing deleted GL objects must in that case be done in the compile thread as well, but are there other such issues to be aware of? Is the IncrementalCompileOperation safe to use as-is with a shared compile context?
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
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.