【问题标题】:Kinect 2 - Significant delay on hand motionKinect 2 - 手部动作明显延迟
【发布时间】:2016-08-25 09:29:07
【问题描述】:

我正在使用 Kinect 2 通过在所有三个方向上移动手来执行显示在 3D 对象上的虚拟相机的旋转和缩放。我目前要解决的问题是这些操作的执行有一些明显的延迟。如果我的手再次处于稳定位置,相机仍会继续移动一小段时间。感觉就像我推动相机而不是实时控制它们。也许帧速率是个问题。据我所知,Kinect 有 30 FPS,而我的应用程序有 60 FPS(启用了 VSync)。

此问题的原因可能是什么?如何在没有明显延迟的情况下控制我的相机?

【问题讨论】:

  • 虽然@Rafaf Tahsin 回答了您的问题,但我看不出这对您解决实际问题有何帮助。如果您的渲染比 Kinect FPS 慢,那么在您渲染时总会有一个可用的新帧。如果反过来,比较时间戳会有所帮助。但是,在再次渲染之前等待新帧会更有意义。但是对于您的问题,您应该在渲染完成之前丢弃帧,然后仅使用最新的帧再次渲染。但这似乎不是你要问的?
  • 完全修改问题。
  • 我认为根据重新审视的上下文,我的答案不再有用。我正在删除它。
  • 更好的问题 :-) 现在,向我们展示一些代码:如何从 kinect 获取数据,如何将其导入应用程序,然后如何处理。没有代码,我们只能猜测出什么问题

标签: render kinect kinect-sdk frame-rate kinect-v2


【解决方案1】:

Kinect 是一款非常图形化和处理密集型的硬件。对于您的应用,我建议最低规格为 GTX960 和第 4 代 i7 处理器。您的硬件将是您计算 Kinect 数据速度的主要因素。

您还希望尽可能避免使用循环,而是依赖多线程,如果您正在循环,请确保没有 foreach 循环,因为它们需要更长的执行时间。您的代码异步运行从 Kinect 读取的数据和位置命令非常重要。

Kinect 永远不会实时响应。它正在处理的数据太多,您能做的最好的事情就是优化您的代码并增加您的硬件能力以缩短响应时间。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-19
    • 1970-01-01
    • 2021-04-26
    • 2014-02-01
    相关资源
    最近更新 更多