Escolha de modulo para Multiprocessing em python
MUltiprocessing: É possível, e deveria funcionar no blender, como diz na documentação:
Exemplo em código simples do uso de todos os processadores
Process
Utilizando o módulo Process com base no artigo using multiprocessing to make python code faster, implementado como visto a baixa
#!/usr/bin/env python3
processes = []
for ligne in tabraw:
p = multiprocessing.Process(target=multiprocessing_func,args=(ligne,))
processes.append(p)
p.start()
for process in processes:
process.join()
recebe-se o erro, por excesso de arquivos abertos:
OSError: [Errno 24] Too many open files
Error: Python script failed, check the message in the system console
Pool
implementado como:
pool= multiprocessing.Pool()
pool.map(multiprocessing_func,tabraw)
pool.close()
executa em 1 segundo para 289 linhas, porém não aparecem os objetos no blender.
Conclusão
O que impede o multiprocessing é o fato de só poder selecionar um objeto de cada vez, portanto quando está transformando as linhas em cilindros