I don't know exactly how you're doing it, but I assume you have a loop that
captures the two seconds and then writes to disk, hence no matter how fast
the disk access there will be some pause in acquisition during the write.
What I suggest doing is having two simultaneous "while" loops. The first
just captures images, the second saves them to disk. There are several ways
to handle the communication between the two- the simplest perhaps is to use
a queue. The acquisition loop adds each individual frame to the queue, the
save loop waits for an entry to appear in the queue and then writes it to
disk. The queue automatically grows and shrinks to accommodate variable
delays in save times and the bottlenecks that will arise. If the machine
isn't fast enough to save 30 640x480 bitmaps per second (>200 megs per
second if they're 24 bit!) and you run out of buffer memory before the
acquisition is complete then you have to think of another alternative. A
cheap option would be to get a few SCSI3 drives and the appropriate
interface card and have several of the "save" loops each saving to different
physical SCSI-3 drives; use a local variable or something in the queue to
keep track of bitmap numbers. When each drive finishes saving a file it then
pulls the next one out of the queue and starts that one. A poor man's RAID
array in a sense.
If you have many drives, it may be worth abstracting this into one VI that
runs continuously taking data and another VI that also runs continuously to
save the file, but takes a save path and a queue name as arguments and as
many simultaneous instances are launched as there are drives. The top level
then simply allocates and deletes the queue on program start and end,
launches all the subVIs and passes the arguments to them and handles closing
everything down at the end.
nobody wrote in message
news:3A5FE1E2.E53051B0@nowhere.com...
> I'm using a a PCI1411 board and an analog camera to capture frames at
> 30fps. My problem is that I can capture 30fps for about 2 seconds
> before I get a 1 second puase while frames are written to the hard
> drive. I'm writing each 640x480 frame as a #bmp (like 0.bmp, 1.bmp,
> 2.bmp, etc.) I'm totally new to Labview so I'm probably doing this very
> inefficiently. How can I increase my efficiency and stop the 1 to 2
> second pauses in frame acquisition?
>
> Curt Hesher
> hesher@cs.fsu.edu