c# - 如何并行化 Kinect AllFramesReady 事件

标签 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 :(

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

最佳答案

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

关于c# - 如何并行化 Kinect AllFramesReady 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13465474/

相关文章:

c# - Q : SignalR authentication with . NET 客户端在本地工作但在服务器上不工作

c++ - 无效使用非静态成员函数pthread

multithreading - 对类中变量的线程安全访问

python-3.x - 如何在 python 中使用 mpi4py 库连接收集的数据

c# - HttpListener不在主机外部监听吗?

c# - 在 C# 中检测字符串中的重复单词时遇到问题?

c# - LINQ:为什么叫 "Comprehension Syntax"

c# - C# Monitor.Wait() 是否遭受虚假唤醒?

c - 在 MPI 中运行我的代码时,尽管遵循正确的语法,但根进程永远不会执行

c - MPI_Finalize() 不结束任何进程