PC Game setup in single direct link for Windows. MicroStation GUI is mostly standard WPF (which itself is also STA), so you can use solutions discussed e.g. How to update WPF GUI is completely different topic, not related to threads. Fortunately, using modern NET Task / Parallel libraries, it's simpler than it was in old NET 2.
When you need to process data, received from DGN / MicroStation API, in another thread, because you expect it slows down data iteration, you have to implement extra layer, responsible for receiving data from NET API and passing them to another thread or task (so NET API is never accessed from another thread). I did not test whether it brings and performance or responsiveness benefits, but I guess it depends a lot on context. MicroStation NET API does not support async/await calls (but some code inside NET API implementation is async, especially delegates).īut it does not prevent your (I guess -) to implement your code to be called with await.