В WPF как вы пишете приложение для нескольких экранов? - PullRequest
8 голосов
/ 18 июля 2010

Меня попросили написать приложение, которое будет очень очень большим, с расширением до 9 экранов с (очевидно) очень высоким разрешением.

Мой вопрос: как лучше всегочтобы сделать это?

Я просто пишу приложение, которое (1024x3) x (768x3)?Как же я могу сделать это во время разработки?Я не смогу увидеть, как работает приложение, или, возможно, я смогу разработать с RenderTransform, который масштабируется обратно до 1024x768, и удалить это преобразование во время развертывания?

Как насчет производительности системы?У нас будет очень мощный ПК с отличной графической картой, но сможет ли WPF справиться с этим размером приложения? Хорошо?

Ответы [ 2 ]

1 голос
/ 19 июля 2010

Посмотрите на SystemInformation.VirualScreen в Windows.Forms

Для WPF используйте SystemParameters.VirtualScreenHeight и SystemParameters.VirtualScreenWidth. Не уверен, как WPF справится с этим, по крайней мере, вы будете знать разрешение.

1 голос
/ 18 июля 2010

Я написал такое приложение два года назад (это было скорее взломом, чем приложением, но клиент был доволен этим).

Я использовал для каждого экрана окно и имел конфигурацию, которая отображала окна на экраны (В моей среде не все мониторы имели одинаковое разрешение).Я также использовал масштабирование, чтобы я мог разместить все окна на одном экране (на моем компьютере разработчика).

Насколько я помню, у нас было около пяти или шести компьютеров и более 20 экранов.На некоторых ПК были установлены видеокарты NVidia Quad, другие обслуживали только два монитора.

Что я помню, так это то, что производительность у четырехъядерных видеокарт была очень низкой .Не было возможности включить приятные визуальные эффекты.В моем проекте это не было большой проблемой, и поэтому я не стал углубляться в причины, почему это было так медленно.Может быть, это была только проблема конфигурации.Но обязательно сделайте несколько тестов на таком ПК с несколькими мониторами, прежде чем тратить много времени на разработку, чтобы потом отметить, что это приложение не может использоваться из-за его визуальной медлительности.

Если в вашем приложении будет много визуальных изменений, и вы хотите увидеть их в приемлемой частоте кадров, вот некоторые соображения:

  • Проверьте, поддерживает ли видеокарта перфоратор , чтобы убедиться, что нетненужные рисунки произойдут.Это было бы смертельно.
  • Если вы можете разделить большой экран на меньший, я бы порекомендовал (одно окно на монитор).Это дает вам больше гибкости, если вы сталкиваетесь с проблемами.Если рендеринг некоторых областей независим от других, подумайте об использовании 5 дешевых ПК, сделайте один мастером и подключите их через WCF.Рендеринг на ПК двух мониторов.

Восстановить после удаления сообщения

Я удалил свой ответ, потому что вы просили.Но с более чем 50 взглядами и ни одного возражения кажется, что мой страх не оправдан.И, как я уже писал, в моем проекте было гораздо более высокое разрешение экрана.С только 1024 * 768 и двумя годами позже производительность, возможно, больше не проблема.Но я бы позаботился.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...