does callbacks get drop from queue when it is exceeded it expected execution time by too much
Current I have a application with a timer which triggers at a fixed interval to grab a frame from a camera stream. This works fine when only two camera streaming at 720p are running. When all 3 of my camera are running, the timer's does not seems to execute all of the callbacks triggered.
For example if I am triggering the timer at 15fps, I should have the callback triggered 150 times if i ran for 10s. However when three cameras are running I will record a significant drop in the amount of callback being triggered. This increases along with the run time.
I suspect that due to my system's processor being overloaded with the need to handle multiple camera stream, the time when the callback of the timer is being executed is significantly being delayed. Thus I wonder if a callback in queue get dropped if it is being delayed for too long? This will explain the missing callbacks.
Thanks