与GUI线程通信的性能影响

时间:2019-01-20 09:55:08

标签: multithreading performance qt systemc

我有一个用SystemC编写的模拟,我想在CLI控制和GUI控制(即QT5)下运行。模拟器会定期到达要在GUI中显示的某个点(此时我可以暂停模拟器的操作)。 CLI模拟工作正常,生成日志正常。我猜想在QT下我可以先启动GUI,然后作为SystemC模拟的线程。

在CLI进行日志记录的情况下,应通知GUI。然后,GUI会接管一段时间,并询问不同的状态变量(线程之间的通信),并在其自己的线程中显示它们。 完成显示操作,然后继续仿真;同时保持GUI响应。仅出于演示目的,性能并不关键:用户是最慢的播放器。我想对于此操作,这两个简单的线程就足够了。或者也许我将需要另一个线程来保持GUI响应能力?将GUI的冗长操作与模拟器的速度同步的最佳方法是什么。

实现此目的的最佳方法是什么,以尽可能少地影响模拟器的源(并避免依赖Qt)?而且,以某种方式尽可能少地影响面向性能的CLI版本吗?

如果我实现通信的第三个线程,该线程与模拟器线程以及GUI或CLI讨论详细信息,可以吗?这种解决方案对性能有何影响? (我的意思是第三个线程可以接管缓慢的I / O进行日志记录,甚至可以抵消线程通信的缓慢影响)周围是否有某些来源或示例(例如,非QT(CLI)或QT(GUI)被通知的线程,然后与非QT线程(SystemC)讨论一段时间,然后一切按自己的方式进行?

0 个答案:

没有答案