Build font contours concurrently
Using a MIT licensed thread pool written by Barak Shoshany (BS::thread_pool)
Reading TrueType font files and creating atlas' for use with VulkanSceneGraph is a slow, single threaded process especially when the application allows the user to individually select any TrueType font on their system during execution of the product. Reading and converting TrueType fonts to the more efficient .vsgb form cannot be predicted up-font or batched on startup. This change moves the expensive generation of glyph contours to packaged tasks which are submitted to a solid MIT licensed thread pool (included in the vsgXchange source, src/thread-pool). I tried to minimize the code change as much as possible so that reviewing and accepting the code change is easier.
You can find the original code for the thread pool here. I have not made any changes to the single header packaged up with vsgXchange: BS::thread_pool