В настоящее время я разрабатываю приложение WPF, в котором один из элементов управления отображает поток изображений; так же, как любая веб-камера. Эти изображения происходят с IP-камеры и могут быть доступны только по URL-адресу HTTP, который является фиксированным и всегда одинаковым. Теперь захват изображений не проблема, через
BitmapImage bitmapImage = new BitmapImage();
bitmapImage.BeginInit();
bitmapImage.UriSource = uri;
bitmapImage.CacheOption = BitmapCacheOption.None;
bitmapImage.CreateOptions = BitmapCreateOptions.IgnoreImageCache;
bitmapImage.EndInit();
return bitmapImage;
Это много работает. Проблема возникает, когда я пытаюсь подключить несколько камер (более 6), приложение задыхается и в конечном итоге вылетает. Все камеры работают на отдельном потоке между прочим.
Я определил основную проблему: создание растрового изображения (высокого уровня?) Съедает слишком много ресурсов, так как мне нужно приложение для обработки около 600 изображений в секунду в реальном времени (около 30 Мбит / с) в конечном итоге.
Короче говоря, я ищу способ сделать этот процесс поиска / рендеринга намного более эффективным.
Заранее спасибо!
ОБНОВЛЕНИЕ:
Забыл упомянуть, возможно, я работаю в .NET 4 WPF, сама камера представляет собой Mobotix M12, доступ к которому осуществляется через Ethernet.