2016-05-21 4 views
1

Я не могу найти информацию о потокобезопасности операций OpenMesh, конкретно Я ищу многопоточный импорт сетки. В настоящее время я заполняю свою сетку через:Импорт многопоточной сетки OpenMesh

OpenMesh::IO::ImporterT 

В одном потоке. Но если это возможно - я wan't сделать эту операцию в несколько потоков, без блокировки вокруг:

meshImporter.add_face(faceHandle); 
meshImporter.add_vertex(vertex); 

Но это немного медленнее, чем я думал (Он потребляет более половины времени следующей операции - прореживание одна и та же сетка).

ответ

2

Ни одна из структур данных OpenMesh не содержит потоковую модификацию. Операциям, таким как add_face или add_vertex, необходимо обновить индексы других типов элементов, чтобы сохранить структуру данных в согласованном состоянии. Вызов этих методов одновременно на одной и той же сетке может привести к повреждению данных сетки.

С OpenMesh::IO::ImporterT в основном перенаправляет свои вызовы на базовую сетку, применяются те же ограничения: все обновления для OpenMesh должны быть синхронизированы.

 Смежные вопросы

  • Нет связанных вопросов^_^