02-17-2017, 07:07 AM
Wings is currently mostly implemented in one (erlang) process, we are working on that,
so showing erlangs concurrency with wings is not a good idea now and I don't know if ever.
In 2.* we have processes for the non opengl windows and dialogs with preview,
but that is done to make the code easier not making it work concurrently.
But it's hard to make stuff concurrently in gui applications, you can't generally
allow new commands before the previous commands are done anyway, that would most
often confuse the user.
Which is why most dialogs (in any language or OS) are modal/blocking.
And in the bottom there is still one and only one gui thread everything must pass trough.
So in OpenGL which is state driven, you must handle one process at a time, interlacing
OpenGL code from several processes/threads can not be done to the same window.
That said we are working towards one process per object, mainly to ease to garbage collection
for large models, but it will be possible to make commands that operate on several objects do
that in parallel.
Bevel is seriously one of the most complex commands that there is in wings :-)
so I'm not surprised it takes a long time.
so showing erlangs concurrency with wings is not a good idea now and I don't know if ever.
In 2.* we have processes for the non opengl windows and dialogs with preview,
but that is done to make the code easier not making it work concurrently.
But it's hard to make stuff concurrently in gui applications, you can't generally
allow new commands before the previous commands are done anyway, that would most
often confuse the user.
Which is why most dialogs (in any language or OS) are modal/blocking.
And in the bottom there is still one and only one gui thread everything must pass trough.
So in OpenGL which is state driven, you must handle one process at a time, interlacing
OpenGL code from several processes/threads can not be done to the same window.
That said we are working towards one process per object, mainly to ease to garbage collection
for large models, but it will be possible to make commands that operate on several objects do
that in parallel.
Bevel is seriously one of the most complex commands that there is in wings :-)
so I'm not surprised it takes a long time.