捕获速度

3D应用中一个重要因素是速度。为了估计应用的运行速度,我们需要知道每个组件需要多少时间。有两个重要的测量项目可以估计 Zivid 需要多少时间:

捕获函数返回时间

这是执行 capture API 所需的时间。当 API 返回时,可以安全地阻挡相机的 FOV 或移动相机。在 Zivid Studio 中,CaptureFunctionReturnTime 显示为Acquisition Time(采集时间)。

捕获时间

这是从调用 capture API 到点云在 GPU 上可用所需的时间。它不包括将数据从 GPU 内存复制到系统内存。

关于捕捉过程的详细介绍,请查看 点云捕获过程

Zivid 对不同硬件上的所有预设设置进行了基准测试,无论是 高端或者低端 硬件配置。这些基准会随着时间的推移而变化,在大多数情况下会随着我们转向更新的 SDK 版本而有所改善。对于相关数值,请选择与您的 SDK 版本相对应的本文档版本。

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

Go to source

source

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;
Go to source

source

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");
Go to source

source

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.