What to do when the camera frame rate is abnormal during continuous hardware triggering?

Questions

The camera frame rate is abnormal during continuous hardware triggering, including:

  1. The camera’s frame rate of image acquisition is lower than the frequency of the trigger signal input

  2. The camera’s frame rate of image acquisition is higher than the frequency of the trigger signal input

The camera’s frame rate of image acquisition is lower than the frequency of the trigger signal input

The possible causes and corresponding solutions are as follows:

  • The frequency of the external trigger signal input is lower than expected

    Use an oscilloscope to measure the trigger source signal and verify if its frequency is correct.

  • The frequency of the external trigger signal input is higher than the camera’s frame rate in continuous capture mode (TY_TRIGGER_MODE_OFF)

    The frequency of the external trigger signal input is higher than the camera’s frame rate in continuous capture mode (TY_TRIGGER_MODE_OFF), exceeding the device’s processing capability.

    Reduce the frequency of the external trigger source so that it is less than or equal to the frame rate of capturing in continuous capture mode mode.

  • Data resend function is not enabled (applicable to network cameras only).

    Enable network retransmission with the following code.

    ASSERT_OK(TYSetBool(hDevice,TY_COMPONENT_DEVICE,TY_BOOL_GVSP_RESEND,true))
    
  • The data volume is too large (applicable to network cameras only).

    The data volume is too large, exceeding the processing capacity of the host computer.

    Suggest using the high-performance host computer or reducing the amount of data.

  • The host computer system is in low-performance mode

    When the host computer system is in low-performance mode, data reception is unstable.

    Set the host computer system to high-performance mode according to the operating system.

Windows System

Please follow the steps below to set up the host computer system:

  1. Set the value of “Receive Buffer” in the host computer system settings to maximum.

    Set Receive Buffer

    Set Receive Buffer

  2. Set the “Power Options” in the host computer system to “High Performance” mode.

    Set High-Performance Mode

    Set High-Performance Mode

Linux System

Linux system defaults to powersave mode for CPU performance, it needs to be set to performance mode.

Please follow the steps below to set the performance mode:

  1. Enter the following command in the terminal to view the CPU performance of the host computer.

    cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
    
  2. If the CPU performance of the host computer is found to be powersave, enter the following command in the terminal to install the software indicator-cpufreq.

    sudo apt-get install indicator-cpufreq
    
  3. Reboot the host computer.

  4. Click on the icon in the upper right corner of the interface to switch the CPU performance to performance.

    Switch CPU Performance

    Switch CPU Performance

  • [USB Camera] USB camera connection is incorrect

    The camera with a USB3.0 port maybe plugged into the USB2.0 port of the host computer, please check if the connection is correct.

  • [USB Camera] Poor quality of USB cable

    Replace the USB cable.

The camera’s frame rate of image acquisition is higher than the frequency of the trigger signal input

The possible causes and corresponding solutions are as follows:

  • The frequency of the external trigger signal input is higher than expected

    Use an oscilloscope to measure the trigger source signal and verify if its frequency is correct.

  • External trigger signals have a high level of noise, leading to false triggering

    Please refer to Hardware Trigger Connection Methods for instructions and select an external trigger source signal that meets the requirements. If necessary, you can purchase an external trigger source produced by Percipio.

  • The host computer sent a software trigger command

    After deleting the following lines of code in the sample code SimpleView_TriggerMode1, you can compile, generate, and run the executable file:

    SDK of old version:

    ASSERT_OK( TYSendSoftTrigger(hDevice) );
    

    SDK of new version :

    while(TY_STATUS_BUSY == (err = TYSendSoftTrigger(hDevice)));