My USB3 camera does not achieve full frame rate

This article explains some basic factors that may affect the frame rate of your USB3 device.

Requested vs. Processed vs. Displayed Frame Rates

Refer to "Why is the frame rate displayed in the demo program different from the requested frame rate?" for information on why the frame rate displayed in the demo program may be different from the requested frame rate. The frame rates may also differ due to inability of the host system to keep up with the camera data rate. An increasing number of skipped images as reported by SpinView or the FlyCap demo program's Event Statistics dialog, is evidence of this.

Bus Speed

Bus speed and interface card/driver configuration are two common issues that may affect the performance of your USB 3.1 camera.

    • PCIe 1.0 vs. PCI 2.0
      Verify that your USB 3.1 host controller interface and your motherboard support PCIe 2.0 data throughput, which is effectively 384 MB/s. PCIe 1.0 architecture cannot exceed 180 MB/s, while regular PCI supports only 133 MB/s.
    • USB2 vs. USB3
      Verify that your host controller interface and your motherboard support version 3.0 of the USB standard rather than version 2.0. Although USB3 devices can run on USB2 buses, at just 480 Mb/s, the effective bandwidth of USB2 is significantly less than USB3.

Verifying Bus Speed and Interface

    • In Spinnaker, use SpinView to verify the bus speed.
      In the Camera control pane, select Transport Layer→Device Information. Device Current Speed shows either High-Speed to indicate a USB2 connection or Super-Speed to indicate a USB3 Connection.

 

    • In FlyCapture, use FlyCap to verify the bus speed and the USB interface in the Camera Selection dialog.

Host Controller Interface and Driver Configurations

Some combinations of interface cards and drivers perform better than others. When our drivers are installed for USB3 devices, the setup process, by default, installs the PGRUSBCam (pgrusbcam.sys) driver on the camera to work in conjunction with the driver of the interface card manufacturer.

For FlyCapture users, an alternative configuration is to install the PGRxHCI (pgrxhci.sys) driver on the interface card, effectively bypassing the manufacturer's driver. Note that the PGRxHCI driver is incompatible with other USB3 devices (e.g., mouse) that run on the same bus.

The PGRUSBCam and PGRxHCI drivers are installed in the \driver folder of the SDK installation directory.