В WPF, как Вы пишете приложение для нескольких экранов?

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

Мой вопрос, что лучший способ состоит в том, чтобы пойти о выполнении этого?

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

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

8
задан Peter Mortensen 23 July 2010 в 01:36
поделиться

2 ответа

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

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

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

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

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

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

Отменить удаление после удаления сообщения

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

1
ответ дан 6 December 2019 в 01:39
поделиться

Взгляните на SystemInformation.VirualScreen в Windows.Forms

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

1
ответ дан 6 December 2019 в 01:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: