我找不到任何关于OpenMesh操作的线程安全的信息,特别是我正在寻找一个多线程网格导入。目前,我正在填充我的网格通过:
OpenMesh::IO::ImporterT一丝不苟。但是如果有可能的话-我不会在没有阻塞的情况下用多个线程执行这个操作:
meshImporter.add_face(faceHandle);
meshImporter.add_vertex(vertex);但它比我想象的要慢一些(它消耗了超过一半的下一次操作--抽取相同网格的时间)。
发布于 2016-06-08 08:50:43
OpenMesh数据结构中没有一个提供线程安全的修改。add_face或add_vertex等操作需要更新其他元素类型的索引,以保持数据结构处于一致状态。因此,在同一个网格上并发调用这些方法会导致网格数据损坏。
由于OpenMesh::IO::ImporterT主要将其调用转发到底层网格,因此同样的限制也适用:对OpenMesh的所有更新都必须同步。
https://stackoverflow.com/questions/37358725
复制相似问题