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.
const auto frame = assistedCapture(camera);
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;
var frame = AssistedCapture(camera);
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");
frame = _assisted_capture(camera)
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.