Kinect传感器每秒钟会产生很多事件,并且如果你在几帧内不能很快地阐述它们(例如尝试对真正的3D角色进行动画处理),那么会卡住。跳过Kinect事件
什么是最好的方法来处理只有合理数量的事件,而不会阻止用户界面?
谢谢。
Kinect传感器每秒钟会产生很多事件,并且如果你在几帧内不能很快地阐述它们(例如尝试对真正的3D角色进行动画处理),那么会卡住。跳过Kinect事件
什么是最好的方法来处理只有合理数量的事件,而不会阻止用户界面?
谢谢。
我会建议在循环中请求帧而不是使用事件方法。 要在动画循环这样做只是称:
sensor.DepthStream.OpenNextFrame(millisecondsWait);
或者:
sensor.SkeletonStream.OpenNextFrame(millisecondsWait);
或者:
sensor.ColorStream.OpenNextFrame(millisecondsWait);
事件驱动编程是伟大的,但是当你遇到这样的问题你提到最好是在需要时调用这些函数。
我想说,如果您正在为一些非常快速和精细的事情制作动画(例如,复杂的60fps 3D图像),那么您同步获取相机图像所需的时间可能会在渲染过程中产生颠簸。
我想尝试在不同的线程中分割渲染和Kinect处理/轮询;采用这种方法,您甚至可以继续使用30fps事件驱动模型。
您使用的是Kinect SDK? – 2012-03-12 13:16:35
官方Kinect SDK 1.0 – abenci 2012-03-12 13:29:46