We are using the Telerik diagram control as a templating tool to allow users to create various templates, and then use the template to generate labels for records in the DB by replacing placeholders in the template text.
This is simple enough, serialize the template, make replacements, load the template again using WPF diagram control and export as image. However, when you wish to export thousands of images, this can become time consuming.
The Diagram control being a control needs a UI thread, WPF has a single UI thread, and as such even if you add multiple instances of the diagram control, you can not technically achieve parallel processing since everything has to go through the serialized Dispatcher of the UI thread.
So my question is, is their a way perhaps through some Diagram API wherein batch processing can be achieved in a multithreaded scenario? Do note that we have elements that need to resize automatically (auto width / height) based on the new content that is merged, also the SVG export of Diagram has limits since it does not support all elements such as images.
The only solution so far that we think might work is to create multiple instances of the program itself, however for many reasons, I would rather prefer a multi-threaded solution in a single application.