orbbec / OrbbecSDK-K4A-Wrapper

This repo is forked from Azure-kinect-Sensor-SDK,contain the K4A wrapper for OrbbecSDK.
https://www.orbbec.com/
MIT License
24 stars 7 forks source link

k4a wrapper has significant frame delay then Orbbec SDK for POE device #56

Open chwan1 opened 3 months ago

chwan1 commented 3 months ago

Describe the bug I'm developing a existing app that used Azure Kinect and want to replace it with Femto Mega. After enabling POE enumeration in k4aviewer using this post, I can open the Femto Mega device.

However I notice a significant frame delay (time between a actual movement and seeing it on the app) in k4aviewer compared with Orcceb viewer. In both apps, I only open the depth image with width 640. Is there some setting I missed in the OrbbecSDKConfig_v1.0.xml that can reduce the delay?

Desktop (please complete the following information):

chwan1 commented 3 months ago

For more context, this is the config file I used with k4a viewer in OrbbecSDK_K4A_Wrapper_v1.9.2_windows_64_release_2024_03_11

zhonghong322 commented 3 months ago

The differences between OrbbecViewer and K4aViewer are:

1、Rendering methods are different. 2、Inside the K4a wrapper, there is a queue with a default size of 5. Please check if the frame rate of K4aViewer is normal. What I mean is, if the PC cannot process data quickly enough, the K4a SDK will buffer up to 5 frames of data, resulting in greater latency compared to OrbbecViewer.

image

chwan1 commented 2 months ago

@zhonghong322 thanks for your reply, the thing is, the delay even exist when I comparing the case between USB connection and POE connection. I opened one device using k4aviewer, and the delay is still more significant when using POE then using USB. In both case, my task manager shows normal resource usage. So I'm wondering is there other difference between USB and POE.