我正在构建带有多个选项卡的tkinter gui程序,并在每个选项卡中执行对象检测。我只是想知道我应该对每个选项卡(例如Google Chrome)使用多处理还是仅使用多线程。在这种情况下,哪种设计在性能方面会更好?
答案 0 :(得分:2)
您可以将任何所需的内容用于工作者线程,但实际上只有一个线程(“ GUI线程”)可以在屏幕上绘制内容。
这也是在浏览器中发生的方式-从属进程基本上在内存中呈现页面并将像素数据发送给绘制它们的主进程;主进程会发回用户输入等。
对于大多数库存GUI工具包(包括Tk),不可能在内存中渲染标准GUI元素(因为这是不常见的要求),所以您不能这样做。通常,在浏览器利用的窗口系统级别(例如in Windows, it's via MemoryDC
)上是可能的。