捕获速度
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.
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.