In WPF how do you write an application for multiple screens? In WPF how do you write an application for multiple screens? wpf wpf

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.