Почему мой интерфейс WPF запаздывает при потоковой передаче большого количества IP-камер в одном экземпляре, а не при запуске одного и того же количества потоков в нескольких экземплярах? - PullRequest
1 голос
/ 26 апреля 2019

Мы создали приложение WPF, которое позволяет транслировать несколько IP-камер в прямом эфире (Mobotix).Это приложение отлично работает при подключении нескольких потоков.Все потоки отображаются правильно и без каких-либо задержек.

Однако, когда мы пытаемся запустить приложение с более чем 20 потоковыми потоками, мы сталкиваемся с проблемами, когда некоторые потоки больше не обновляются, а пользовательский интерфейс приложения WPF отстает.

Мы можем решить эту проблему, уменьшив качество и / или размер прямых трансляций.Но, к сожалению, это неприемлемо, так как изображения не содержат достаточно деталей.

После большой отладки и попыток разными способами отобразить пары, но безрезультатно, мы заметили, что если мы запустим несколько экземпляроводно и то же приложение, которое рендерит ограниченное количество потоков (например, 3 экземпляра по 8 прямых трансляций в каждом), что нет никаких проблем ни с экземплярами, ни с самими потоками камеры.

С этой информацией нам было интересно, почемуразница с одним экземпляром приложения, в котором запущено 24 потока или 3 экземпляра одного и того же приложения, в котором по 8 потоков каждый.

Кто-нибудь здесь знает, что вызывает такое поведение?Есть ли какое-то ограничение памяти для каждого экземпляра приложения?Или какое-то ограничение в GUI-потоке приложения WPF?Может быть, есть и другие вещи, которые мы здесь не видим?

Любая помощь будет высоко оценена!

...