Capture Speed

애플리케이션에서 중요한 요소 중 하나는 속도입니다. 애플리케이션의 작동 속도를 추정하려면 각 구성 요소에 걸리는 시간을 알아야 합니다. Zivid에 필요한 시간을 추정하는 데 중요한 두 가지 측정 기준은 다음과 같습니다.

CaptureFunctionReturnTime

capture API를 실행하는 데 걸리는 시간입니다. API가 반환되면 카메라의 FOV를 차단하거나 카메라를 이동해도 안전합니다. Zivid Studio 에서 CaptureFunctionReturnTime은 Acquisition Time으로 표시됩니다.

CaptureTime

capture API를 호출한 후부터 GPU에서 포인트 클라우드를 사용할 수 있을 때까지 걸리는 시간입니다. GPU 메모리에서 시스템 메모리로 데이터를 복사하는 시간은 포함되지 않습니다.

캡처 프로세스는 Point Cloud Capture Process 에서 더 자세히 설명되어 있습니다.

Zivid는 다양한 하드웨어, high-end or low-end 에서 모든 프리셋을 벤치마크합니다. 이러한 벤치마크는 시간이 지남에 따라 변동될 수 있으며, 대부분의 경우 최신 SDK 버전으로 전환됨에 따라 개선됩니다. 관련 수치를 확인하려면 사용 중인 SDK 버전에 해당하는 이 문서 버전을 선택하세요.

Zivid Studio 와 SDK를 통해 획득 및 캡처 시간을 확인할 수 있습니다.

소스로 이동

소스

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;
소스로 이동

소스

using (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");
소스로 이동

소스

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")

C++ 샘플 ZividBenchmark.cpp 를 실행하여 새로운 하드웨어에서 직접 벤치마킹할 수도 있습니다.