[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: setup problems for PCVision + JAI CV-M1




Hello Richard!

On Thu, 27 Apr 2000, Richard Beare wrote:

> I have another general question about the driver operation. I'm looking
> at an application that doesn't need real time performance - we'll be
> capturing 1 image and using the results of an analysis to drive a
> machine. I've chopped out enough bits of test_itifg to produce some test
> code capable of capturing an image using mmap and select modes. The
> statistics printed by the Clean_Up function are
> 
> run statistics:
>         frames captured 9,
>         frames transfered 5,
>         frames timedout 0,
>         frames get_by_blocked 0.
>         frames get_by_signal 0.
>         frames get_by_select 1.
> 
> a similar set of stats is produced by the test_itifg program when using
> equivalent parameters.
> 
> run statistics:
>         frames captured 9,
>         frames transfered 5,
>         frames timedout 0,
>         frames get_by_blocked 0.
>         frames get_by_signal 0.
>         frames get_by_select 1.
> 
> I'm a little confused about what controls the "frames transferred". I'm
> assuming that this means frames transferred between framebuffer memory
> and main memory, and that this is likely to be something of a
> performance penalty if the data is not required. Is this something I
> have control of, and if so how?
>

The behavior is the following:

Frames_captured is how much frames are read into the on-board memory from
the camera. This is starting whenever the device is open (I mean open(2)).
Frames_transfered is, as you said already, how much frames are transfered
between on-board and main memory. This allocates bandwith at the PCI-bus
and needs some system ressources (interrupt time).
Frames get_by_blocked|signal|select is the amount of frames, your
application is informed of. This is mainly to determine, weather your
online data processing is fast enough or not. This is important to know,
because if not, the driver OVERRIDES your current frame and you have to
use a kind of ring buffer (-n option).
If you don't do online processing (means you need only sometimes a frame),
the mmap(2) mode is not the right for you. For this kind of application
the read(2) mode is the better, because it transfers the frame (and only
this frame) if it's needed.

Is this what you want to know?

					matthias


> Thanks.
> 
> -- 
> Richard Beare
> Richard.Beare@cmis.csiro.au
>