What does BitFlow do better than its competitors?
What are the technological advantages of BitFlow products?
True Scatter-Gather DMA
BitFlow was one of the first companies to use scatter-gather DMA on frame grabbers. This type of DMA continuously moves image data into host memory without consuming any CPU resources. This means your CPU is 100% available to process incoming images and take care of other tasks.
No Need For Reserved System Memory
Our DMA engine is designed to DMA into completely fragmented host memory buffers (which is all memory buffers allocated at the user level). Some DMA engines can only DMA into contiguous pre-boot allocated host memory. This means that your application has no control over the memory buffers and has to deal with what these drivers give you at run time. Plus, this pre-allocated memory is never available to other process without a reboot. BitFlow’s DMA engine can deal with any type of memory. Allocate buffers in your application, hand them to our driver, and it will fill them with image data – simple.
Low System Resource Immune DMA engine
BitFlow’s DMA engine is quite robust – it has been designed to handle situations where access to resources has been reduced due to other system activities. The DMA engine caches scatter-gather instructions so that, during times when access to these objects is blocked, the DMA engine can continue to run and move image data into host memory. This means no images are lost during times of heavy memory and bus traffic.
Fault Tolerant DMA Engine
In times when things do go wrong, our DMA engine has been designed to keep all images in sync. Image data can be lost or corrupted on the incoming side (for example from electrical noise on the cables). Image data can also be lost on the outgoing side (for example, if the PCIe bus is so busy that the board has no access to host memory). However, in both cases our StreamSync engine stays exactly in sync. Missing incoming packets are both accounted and compensated for in the data stream. Dropped outgoing packets are compensated by “burning” the corresponding scatter gather instructions so that the next packet lands in memory exactly where it should. Both of these situations are quite rare, but when they do happen your images will be affected as little as possible and the whole system will stay perfectly in sync.
Factory Linux Support
Along with Microsoft Windows, BitFlow has factory support for Linux. All BitFlow’s modern frame grabbers are supported under most of the current and stable Linux Kernels. There are many reasons Machine Vision customers choose to deploy their application on Linux over Windows: stability, transparency, costs, etc. But BitFlow voids the controversy and supports both.
Direct GPU Support
BitFlow supports direct, low latency, DMA into GPU memory on both AMD and NVIDIA platforms. Support differs slightly by platform and operating system, but the net effect is the same. For GPU based image processing, BitFlow’s frame grabbers will make your images available as quickly and efficiently as possible, while using almost on CPU resources. GPU processing is one of the best solutions to deal with today’s high speed cameras, and BitFlow will make the image movement side of your application simple and easy. See the links at left for more information.
BitFlow’s Software Development Kit (SDK) supports all of our “modern” frame grabber models. By “modern” we refer to boards that we first released in 1997 up to boards released this year. This wide range of board models with a wide range of capabilities are all supported by the same Application Programming Interface (API). This means that you can write an application for our brand new CoaXPress frame grabber that will also work on our analog frame grabber. More importantly, the application our customers wrote for our old R3-DIF (differential frame grabber) will also support our brand new frame grabbers released this year without any code changes. Not only do we offer backwards compatibility, but we also offer forwards compatibility as well for frame grabbers we haven’t even started designing yet.
When asked, most of our customers will say customer support is the top reason they chose to work with BitFlow and why they stick with BitFlow over many years and many products. At BitFlow, every employee is part of the customer support team. Customer problems are sent directly to the engineer that wrote the code, designed the hardware, and/or tested the camera/computer. Once the problem gets there, that engineer “owns” the problem and is responsible for making sure both the problem gets solved and that the customer is happy. There are no walls between engineering and sales/customer support at BitFlow.