Replies: 1 comment
-
The algorithm itself is serial and that is unlikely to change, however it's possible to layer parallelism on top of that externally. For that, you need to split the model into multiple chunks, eg just taking a subset of the index buffer, run meshopt_simplify on separate cores and pass meshopt_SimplifyLockBorder as option, and then join the simplified index buffers together and run meshopt_simplify one last time on the compound result (serially). I should mention though that a minute is a highly unusual runtime for simplification. For two high poly models I have around right now to test, release build on Zen 3 CPU takes under a second (875 ms) to simplify 3M triangle model, and 5 seconds to simplify a 12M triangle model. |
Beta Was this translation helpful? Give feedback.
-
I'm working on software where users sometimes must load hundreds of complex meshes, each of which need to be simplified for rendering purposes. The simplification stage is currently one of the loading bottlenecks, taking up to a minute for highly complex (> 1 GB) models. My understanding of the algorithm is limited, but is there any opportunity to accelerate the simplification speed through parallelization? Processors with 8 or more cores are becoming commonplace, so this could provide substantial increases if it is possible within the constraints of the algorithm.
Beta Was this translation helpful? Give feedback.
All reactions