如何并行化Kinect AllFramesReady事件

时间:2012-11-20 01:50:43

标签: c# multithreading parallel-processing task-parallel-library kinect

我正在使用Kinect进行开发,我需要在AllFramesReady事件中执行任务。 任务包括使用BinaryWriter进行大量写作。

我知道框架(颜色,深度,骨架)存在很短的时间。

using (var imageFrame = e.OpenColorImageFrame())
{
     // Do the heavy task writing tons of bits do a `BinaryWriter`
} // The frame is no longer available :(

有没有办法并行化它?还是一些提高代码性能的技巧?

1 个答案:

答案 0 :(得分:2)

通常,不要在AllFramesReady事件处理程序中执行繁重的工作。我的建议是:将Frame信息存储在队列中,然后使用另一个线程将存储的信息写入磁盘存储器。请注意,当进入队列的速率超过离开队列的速率时,在某些时候,您将耗尽内存。