vsgXchange icon indicating copy to clipboard operation
vsgXchange copied to clipboard

Build font contours concurrently

Open rms7326 opened this issue 4 months ago • 3 comments

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

rms7326 avatar Sep 04 '25 22:09 rms7326