我正在使用Kinect 2通过在所有三个方向上移动手来执行在3D对象上显示的虚拟相机的旋转和缩放。我目前要解决的问题是这些操作是以一些明显的延迟执行的。如果我的手再次处于稳定位置,相机仍会继续移动一小段时间。感觉就像我推动相机而不是实时控制它们。也许帧速率是个问题。据我所知,Kinect有30 FPS,而我的应用程序有60 FPS(启用VSync)。
这个问题可能是什么原因?如何在没有任何明显延迟的情况下控制相机?
答案 0 :(得分:0)
Kinect是一个非常图形和流程密集的硬件。对于您的应用,我建议最低规格的GTX960和第四代i7处理器。您的硬件将是计算Kinect数据的速度的主要因素。
您还希望避免尽可能多地使用循环,而是依赖于多线程,如果您正在循环,请确保没有foreach循环,因为它们需要更长的时间来执行。您的代码异步运行从Kinect和位置命令读取的数据非常重要。
Kinect永远不会实时响应。它处理的数据太多,您可以做的最好的事情是优化代码并增加硬件功能以缩短响应时间。