coin_multithreading_support.3coin4 - Man Page

Name

coin_multithreading_support ā€” Multithreading Support in Coin

The support in Coin for using multiple threads in application programs and the Coin library itself, consists of two main features:

The classes in question are SbThread, SbMutex, SbStorage, SbBarrier, SbCondVar, SbFifo, SbThreadAutoLock, SbRWMutex, and SbTypedStorage. See their respective documentation for the detailed information.

The classes fully hides the system specific implementation, which is either done on top of native Win32 (if on Microsoft Windows), or over POSIX threads (on UNIX and UNIX-like systems).

Thread-safe render traversals are off by default, because there is a small overhead involved which would make rendering (very) slightly slower on single-threaded invocations.

To get a Coin library built with thread-safe rendering, one must actively reconfigure Coin and build a special, local version. For configure-based builds (UNIX and UNIX-like systems, or with Cygwin on Microsoft Windows) this is done with the option '--enable-threadsafe' to Autoconf configure. To change the configuration and rebuild with Visual Studio, you will need to change the preprocessor directive COIN_THREADSAFE to defined in the file src/setup.h located in the same folder as you found your solution file.

There are some restrictions and other issues which it is important to be aware of:

We are aware of at least issues with Qt3 (and thereby SoQt), where you should not modify the scene graph in any way in a thread separate from the main Qt thread. This because it will trigger operations where Qt3 is not thread-safe. For Qt4, we have not been aware of such problems.

Since

Coin 2.0

Info

Mon Jan 22 2024 00:00:00 Version 4.0.2 Coin