我尝试了很多东西之后打开了这个新帖子。 我的应用程序(VS2010上的C ++)必须抓取图像,精心制作图像,通过UDP发送结果。问题是频率:200次/秒。所以我有一台摄像机在200Hz的双缓冲区中记录图像,我必须在不到5毫秒的时间内完成图像的制作。该应用程序在99,999%的情况下工作,但我认为Win7 Pro取消了我的实时优先级,因此在100000个案例中有一个出错了。 阅读msdn论坛等等,我只能使用:
现在,我有5个线程由我(_beginthreadex)启动,并且几个线程在相机的已编译DLL中启动。我认为,如果我将所有5个线程的时间优先级设置为优先级,则其中没有一个优先级高于其他线程。
所以我有两个问题:
谢谢! 再见 保罗
答案 0 :(得分:0)
哦,我会为此使用两个以上的缓冲区。 200个图像对象的池似乎是更好的选择。
总体而言,您能承受多少延迟?视频流总是一样的 - 你可以拥有一致的,无暂停的操作,或者低延迟,但不是两者兼而有之。
客户端的视频图像缓冲队列有多大?
编辑:
'我必须每5毫秒发送一次UDP数据报':((
好的,所以你有一个5ms循环的UDP发送线程的图像输出队列,是吗?队列必须永远不会为空。听起来确实像是细节是瓶颈。
你有[核心数量+]线程池进行详细说明吗?