У меня есть веб-камера PS3 Eye, способная выдавать кадры со скоростью до 120 раз в секунду в зависимости от разрешения.
Мне нужно выполнить некоторую обработку каждого кадра, и в настоящее время это занимает довольно много времени.,Веб-камера настроена на 60 кадров в секунду, что оставляет около 16 мс времени обработки на кадр, но из-за узкого места в обработке я могу извлекать только около 30 кадров в секунду.
За кадром покажет циклизвлекает данные растрового изображения из камеры, устанавливает свойство растрового изображения и уведомляет, что был получен новый кадр, поэтому изображения не будут складываться, если обработка занимает слишком много времени.
Я думаю, что я должен быть в состояниикаким-то образом использовать многопоточность для ускорения обработки.
Возможно, вот так
- Полученный кадр
- Поток 1 начинает обработку
- Полученный кадр
- Поток 1 занят
- Поток 2 начинает обработку
- Поток 1 завершил обработку
- Кадр получен
- Поток 1 начинает обработку
- Поток 2 завершил обработку
- И т. Д.
Как вы думаете, многопоточность, возможно, с помощью библиотеки Task Parallel улучшит производительность?
Спасибо взаранее!