Я знаю, что это, вероятно, общее, пожалуйста, потерпи меня!
У нас есть программа, которая использует веб-камеру и, в зависимости от того, что видит камера, запускает определенные функции. Программа отлично работает на MacOS и Linux, компилируется и запускается на Windows, но пара функций (в том числе с итерацией пиксель за пикселем, 640x480) понижают FPS до 1 или меньше , Время от времени бросая его, чтобы заморозить в течение нескольких секунд.
Как я уже сказал, я знаю, что это очень общее ... Я просто (отчаянно) надеялся на чей-либо вклад в возможные объяснения? Эти же функции прекрасно работают на других платформах. Мне любопытно, возможно, камера работает в своем собственном потоке, который застрял? Может быть, мы просто не ищем подходящих мест для оптимизации? И есть ли ресурс о том, что оптимизировать при переносе кода на Windows?
Большое спасибо, и любой вклад очень приветствуется!
<<< РЕДАКТИРОВАТЬ >>>
Что касается исходного кода видео, я использую ewclib и
const char * m_buffer;
EWC_Open(MEDIASUBTYPE_RGB24, 640, 480, FPS, true);
m_buffer = new unsigned char[EWC_GetBufferSize(0)];
EWC_GetImage(0, m_buffer);