我正在使用 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 :(
有没有办法并行化它?或者一些提高代码性能的技巧?
最佳答案
通常,不要在 AllFramesReady 事件处理程序中执行繁重的工作。我的建议是:将Frame信息存储在一个队列中,然后使用另一个线程将存储的信息写入磁盘内存。请注意,当进入队列的速率超过离开队列的速率时,在某些时候,您将耗尽内存。
关于c# - 如何并行化 Kinect AllFramesReady 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13465474/