Capture Speed

An important factor for an application is speed. In order to estimate how fast an application can operate we need to know how much time each component takes. There are two important measurements that estimate how much time Zivid requires:

CaptureFunctionReturnTime

This is the time it takes to execute the capture API. When the API returns it is safe to block the FOV of the camera or move the camera. In Zivid Studio, CaptureFunctionReturnTime is shown as Acquisition Time.

CaptureTime

This is the time it takes from calling the capture API until the point cloud is available on the GPU. It does not include copying data from GPU memory to system memory.

The capture process is described in more detail in Point Cloud Capture Process.

Zivid benchmarks all presets on different hardware, be it high-end or low-end. These benchmarks will vary over time, in most cases improve, as we move to newer SDK version. For relevant numbers choose the version of this documentation that corresponds to your SDK version.

You can check your acquisition and capture time in Zivid Studio and via the SDK.

Go to source

source

const auto frame = camera.capture2D3D(settings);
const auto frameInfo = frame.info();
std::cout << "Acquisition time:" << std::endl;
std::cout << std::chrono::duration_cast<std::chrono::milliseconds>(
                 frameInfo.metrics().acquisitionTime().value())
                 .count()
          << " ms" << std::endl;
std::cout << "Capture time:" << std::endl;
std::cout
    << std::chrono::duration_cast<std::chrono::milliseconds>(frameInfo.metrics().captureTime().value()).count()
    << " ms" << std::endl;
Go to source

source

var frame = camera.Capture2D3D(settings);
var frameInfo = frame.Info;
Console.WriteLine("Acquisition time:");
Console.WriteLine(frameInfo.Metrics.AcquisitionTime.Milliseconds + " ms");
Console.WriteLine("Capture time:");
Console.WriteLine(frameInfo.Metrics.CaptureTime.Milliseconds + " ms");
Go to source

source

frame = camera.capture_2d_3d(settings)
frame_info = frame.info
print("Acquisition time:")
print(f"{frame_info.metrics.acquisition_time.total_seconds() * 1000:.0f} ms")
print("Capture time:")
print(f"{frame_info.metrics.capture_time.total_seconds() * 1000:.0f} ms")

You can also run our C++ sample ZividBenchmark.cpp to benchmark with your hardware.

Cameras

Configurations

Display Options

Capture 2D + 3D

hidden
hidden
2+R
High-end NVIDIA
2D3D
Manufacturing Settings
Manufacturing Diffuse
Manufacturing Semi-Specular
Manufacturing Specular
Manufacturing Small Features

3D

hidden
hidden
2+R
High-end NVIDIA
Manufacturing Settings
Manufacturing Diffuse
Manufacturing Semi-Specular
Manufacturing Specular
Manufacturing Small Features

2D

hidden
hidden
ET=ExposureTime2+R
ETHigh-end NVIDIA
Exposure Time Settings 2D
Exposure Time 5 ms5 ms
Exposure Time 10 ms10 ms
Exposure Time 15 ms15 ms
Exposure Time 20 ms20 ms
Exposure Time 25 ms0 ms
Exposure Time 30 ms0 ms
Exposure Time 40 ms0 ms
Exposure Time 50 ms0 ms
Exposure Time 75 ms0 ms
Exposure Time 100 ms0 ms

Capture 2D + 3D

Capture 2D and then 3D
Capture 3D and then 2D
Capture 3D including 2D
hidden
hidden
2+R
High-end NVIDIA
2D3D
Capture 2D and then 3D
Projector On for 2D
Capture 3D and then 2D
Capture 3D including 2D

Filters

hidden
hidden
2+R
High-end NVIDIA
Filters
ContrastDistortionCorrection
ContrastDistortionRemoval
Noise
Outlier
Cluster
ReflectionGlobal
Smoothing
RegionOfInterest-Box
RegionOfInterest-Depth