我正在使用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 :(
有没有办法并行化它?还是一些提高代码性能的技巧?
答案 0 :(得分:2)
通常,不要在AllFramesReady事件处理程序中执行繁重的工作。我的建议是:将Frame信息存储在队列中,然后使用另一个线程将存储的信息写入磁盘存储器。请注意,当进入队列的速率超过离开队列的速率时,在某些时候,您将耗尽内存。