My USB 3.1 camera does not achieve full frame rate

This article explains some basic factors that may affect the frame rate of your USB 3.1 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 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.
    • USB 2.0 vs. USB 3.1
      Verify that your host controller interface and your motherboard support version 3.0 of the USB standard rather than version 2.0. Although USB 3.1 devices can run on USB 2.0 buses, at just 480 Mb/s, the effective bandwidth of USB 2.0 is significantly less than USB 3.1.

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 USB 2.0 connection or Super-Speed to indicate a USB 3.0 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 USB 3.1 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 USB 3.1 devices (e.g., mouse) that run on the same bus.

For information about the tests we performed on other host controller/driver configurations, see TAN  "Recommended USB 3.1 System Components."

The PGRUSBCam and PGRxHCI drivers are installed in the \driver folder of the SDK installation directory. For information about how to locate our USB 3.1 devices in the Windows Device Manager.