Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
拖动时程序运行得更快 我捕捉相机的框架并用QT和C++来显示它们。正在显示的视频的帧速率有点慢(相机以60fps的速度发送,但在窗口中,帧速率真的很慢),但当我拖动窗口时,帧速率跳得非常快_C++_Windows_Multithreading_Qt - Fatal编程技术网

拖动时程序运行得更快 我捕捉相机的框架并用QT和C++来显示它们。正在显示的视频的帧速率有点慢(相机以60fps的速度发送,但在窗口中,帧速率真的很慢),但当我拖动窗口时,帧速率跳得非常快

拖动时程序运行得更快 我捕捉相机的框架并用QT和C++来显示它们。正在显示的视频的帧速率有点慢(相机以60fps的速度发送,但在窗口中,帧速率真的很慢),但当我拖动窗口时,帧速率跳得非常快,c++,windows,multithreading,qt,C++,Windows,Multithreading,Qt,windows或Qt是否会在检测到拖动后将线程提升到更高的优先级,以便在用户拖动窗口时更快地更新窗口,从而用户不会看到任何延迟?这听起来像是GUI循环在有限的帧速率上运行。如果拖动窗口,则需要重新绘制以提高帧速率。请注意,GUI应用程序通常尝试尽可能少地绘制。您应该在单独的线程中进行视频捕获,并使用计时器重新绘制窗口。当计时器启动时,只需绘制最近捕获的帧。这意味着您的视频将显示为实时视频,即使UI可能无法跟上帧速率。@paddy您知道重画UI的Qt命令吗?我不清楚细节,但我相信在某些情况下Win

windows或Qt是否会在检测到拖动后将线程提升到更高的优先级,以便在用户拖动窗口时更快地更新窗口,从而用户不会看到任何延迟?

这听起来像是GUI循环在有限的帧速率上运行。如果拖动窗口,则需要重新绘制以提高帧速率。请注意,GUI应用程序通常尝试尽可能少地绘制。您应该在单独的线程中进行视频捕获,并使用计时器重新绘制窗口。当计时器启动时,只需绘制最近捕获的帧。这意味着您的视频将显示为实时视频,即使UI可能无法跟上帧速率。@paddy您知道重画UI的Qt命令吗?我不清楚细节,但我相信在某些情况下Windows会忽略(部分?)正在拖动的窗口中的程序所绘制的内容。所以很可能明显较高的帧速率不是真的。也许是这样…但很难测试它。。。