Tob*_*son 7 c# graphics drawing rendering kinect
我正在使用OpenNI开发深度处理(Xbox Kinect,Asus Xtion等)应用程序.
当传感器提供新的深度数据时,我需要一种非常简单快速的Windows窗体绘图方式(30或60 fps,具体取决于分辨率).
目前,当数据可用时,我从单独的线程中使双缓冲面板无效,然后在面板的paint方法中设置位图的像素,产生可预测的可怕5fps.
System.Drawing.Graphics似乎缺乏设置单个像素的快速方法,除非任何人都可以指示其他方式.
我确实只需要设置像素颜色,因此如果可能的话,我们希望避免使用第三方高速渲染API,并且理想情况下使用尽可能本地的东西.
有没有人有什么建议?
如果您正在使用Bitmaps,那么您应该使用LockBits和UnlockBits直接在内存中访问数据.在C#中,您可以通过使用不安全的代码块和指针来获得一些额外的性能.
有关详细信息,请参阅此链接:http://web.archive.org/web/20150227183132/http : //bobpowell.net/lockingbits.aspx