PDA

View Full Version : Frames get lost



reiner
June 20, 2007, 15:26:13
Hello,

we are using the IC imaging control 2.10 from within a VC 6.0 ActiveX control which is integrated in a Delphi based application. The frame grabbing is done with the eFRAMEREADY event.

We have the problem, that single eFRAMEREADY event are not "sent" to our control, so at a framerate of 30fps the duration between two events is ~66ms instead of ~33ms.
The problem appears at any time and may disappear at any time - so I am not really able to debug this or have a concrete idea what causes this.

So: has anyone seen this or has an idea how to fix (use new IC imaging control 3.01/3.04?) ?
Is there a way to get more debug information out of the IC imaging control from the capture/event processing?

TIA and best regards,
Reiner

Stefan Geissler
June 20, 2007, 15:48:07
Hi Reiner,

If the image processing called by the ImageAvailable event lasts longer than the frame time (33 + n ms) then you will miss frames. However, the missed frames are saved in IC Imaging Controls ring buffer as shown in the "VC6/Callback" sample. I suppose this happens. Thus you should check the duration of your image processing or how long your application stays in the frameReady() function. If it is longer than 33 ms, then you have found the reason.

IC Imaging Control 3.0 or higher would not fix your problem.

reiner
June 21, 2007, 12:16:52
Hello Stefan,

thanks for your quick answer.

It's not the image processing that causes this problem:

1) I have a separate thread which processes the data. If there's still processing going on and new data (FrameReady event) is ready, the new data is discarded and an internal LostFrames counter is incremented.

2) When seeing this problem on a notebook once, the performance monitor showed a cpu usage of ~20% - 80% were idle.

3) I added some time-measurement code to my image processing code. I took about 4-8ms to process the image data and it finished every time early enough - but I had missing frames.

4) The timing from my point of view is too exact: I get all events every 33ms (+/- 4ms) and if I miss a frame-event it takes 66ms (+/- 6ms). This was measured with the CPU high performance counters - so the times should be somewhat reliable.

The main problem with this bug is, that it only seems to happen from time to time on a few systems and that I'm not really able to debug it (only add some logging-code to release version).

If you don't have an idea too and/or have never seen this kind of problem, I think first step is to check different driver releases and/or ImagingControl releases. But I doubt too that this will fix it ...

Regards,
Reiner

Stefan Geissler
June 21, 2007, 16:06:32
Reiner,

It is nor a driver or an IC Imaging Control problem in my opinion. What camera do you use? Is it possible to reproduce the problem with a pure VC6 program?

reiner
June 21, 2007, 17:19:53
Ups - I forgot that information: we are using a DMK 21F04 firewire camera from TIS.

Unfortunately it's not reproduceable - we had this problem twice on a notebook, but it disappeared every time and I don't know how to make it appear again. Currently a customer has 2 systems where he reports this problem - I hope that I can get further detailed information from there ...

I am also quite sure that this bug is not from the Driver and/or ImagingControl, but maybe there's somebody out there, who has experienced this kind of problem.

Regards,
Reiner

Stefan Geissler
June 25, 2007, 14:26:18
Rainer,

If you use a Laptop with an Intel Dual Core T2400 or higher CPU, then you may install the FireWire Performance Manager. This program helps avoiding damaged images. May be this is a part of your problem.

The download link is:
http://www.imagingcontrol.com/downloads/tools/

At least it seems you are from Germany(?), thus you may try to contact me directly (in German language) at support@imagingcontrol.com or by phone.