Skip to content

v6.2

Choose a tag to compare

@febret febret released this 06 Feb 04:14
· 549 commits to master since this release

This version adds python multithreading support and some other minor fixes and improvements.

A note on python multithreading
You can execute custom code from other python threads but you should avoid calling
into omegalib functions as much as possible. Some things may work but there are no
guarantees. You should limit using multiple python threads to execute long
blocking operations (i.e. reading data from a file, web IO stuff).

Also note that the python interpreter itself is not designed to support
multithread. In other words, only a single thread will execute bytecode at any
given time. Python functions going out of the interpreter (like the aforementioned
IO operations, hashing code, etc) will let the interpreter run other threads.
Also since omegalib now releases the python interpreter after the update and
event callbacks, if you have threads in your python script they will keep running
while the application does rendering or performs other operations. Since rendering
& other updates are usually the most expensive steps in an omegalib application,
letting other python threads run concurrently could give you a good performance
boost in some scenario. again avoid calling omegalib from those threads, since
there is no way to know what the omegalib runtime is doing at the time (rendering,
updating other stuff, baking bread, etc.)