Tools:
Visual Studio 2012 and .net framework 4.5
I've made an application which gets wmi and sccm data. Really it's just an application which retrieves relevant information about a specific computer. The sort of information I'm retrieving is model, users, cpu, installed applications and so on.
What I've been struggeling with, is performance. The ui is often freezing because of the amount of data that is processed. I'v looked into dispatchers and begininvoke. All of my dispatchers has dispatcherpriority = background, so in theory the ui should not be locked or frozen.
I'm using tabcontrol to be able to display information about several computers at the same time. Lately I've been wondering if this is a good choice due to the poor ui perfomance. Each computer has its own tab containing the information about themselves, meaning there will be n-1 tabs that the application must update. The providers I written to aquire the information from computers and other systems, uses backgroundworker to ease resource usage (I think).
The question I have, is how should I initalize a mvvm object? Should I do it with the tabcontrol dispatcher or should I do it in another fashion? At the moment the UI thread seems taxed.