In WPF how do you write an application for multiple screens?
I have written such an app two years ago (It was more a hack than an app but the client was happy with it).
I used for every screen a window and had a configuration that mapped the windows to the screens (In my environment, not all monitors had the same resolutions). I used also scaling so that I could place all windows on one screen (on my dev-machine).
As I remember we had about five or six PCs and something more than 20 screens. Some of the PCs had NVidia Quad-graphics cards, others served only two monitors.
What I remember is, that the performance of the quad-graphics cards was very little. It was not possible to include nice visual effects. In my project this was not a big issue and therefore I digged not deeper into the reasons why it was so slow. Maybe it was only a configuration problem. But make sure to make some tests on such a multi-monitor-PC before investing a lot of time for developping, to remark afterwards that that app is not useable because of its visual slowness.
If your app will have a lot of visual changes and you want to see them in a acceptable framerate, here some thoughs:
- Check if the graphics card supportshw-renderingfor each screen. If not, the fillrate for 9 screens would be huge and theperformance will go down.
- For your project, generally beware ofEffects such as DropShadowEffect.They can affect the calculation ofthe dirty regions in a way that thewhole screeen or big regions will berepainted. Use perforatorto make shure that no unnecessarydrawings will happen. This would befatal.
- If you can split the big screen tosmaller ones, I would recommend (one Window per monitor). Thisgives you more flexibility if youencouter problems. If the rendering ofsome areas is independent to others,think about using 5 cheap pc's, makeone the master and connect themthrough WCF. Render per pc twomonitors.
Undelete after deleting the post
I undeleted my answer because you asked for. But with over 50 views and not one upvote it seems that my fear is not justified. And as I wrote, we had a much higher screeen resolution in my project. With only 1024*768 and two years later, performance is maybe no more an issue. But I would take care.
Take a look at SystemInformation.VirualScreenin Windows.Forms
For WPF use SystemParameters.VirtualScreenHeight and SystemParameters.VirtualScreenWidth.Not sure how WPF copes with that, at least you will know the resolution.