QT 多线程 通过发送信号,主线程槽响应此信号, 显示的速度慢, 是什么原因
各位大神,我刚刚接触QT不久,现在遇到QT中多线程通过emit 发送图像给主线程,主线程的槽函数负责显示此图像。
在主界面中,有个九宫格的窗口,其中每个窗口对应一个线程,用于实时采集相机的图像,在子线程中,最后发射信号emit setImage(Qimage img, int index)给主线程。 主线程的槽函数Image_process(QImage img, int index),得到后,根据index,显示不同的图像,到对应的位置。
问题是,当只开一个线程,即一个相机时,主界面显示的图像很流畅,即一秒大概5张。但当九个线程同时运行时,主界面显示的图像很卡,即1秒显示一张,很不流畅。
我现在不知道如何优化程序:我怀疑的点:
1)QT 多线程发射信号给主线程,或者多线程的用法不对?
2) 电脑硬件问题:8G内存,cpu ->4核 i5 -4590@3.30GHZ
希望打给大神针对软件方面,给于指导。。。多谢