如果它是活动窗口,任务是否会更快完成?

时间:2009-07-20 14:17:38

标签: performance cpu process

我听说过一个神话,如果作业保持为活动窗口,而不是在后台或最小化,作业将更快完成。

这有什么道理吗? CPU是否优先考虑发生这种情况的任务?

谢谢,

4 个答案:

答案 0 :(得分:7)

在Windows上,前台应用程序获得优先级提升。这是为了帮助它保持对用户的响应能力,并确保在等待一些I / O事件后它准备好运行时,它将继续运行,大多数其他可能正在等待运行的应用程序。

前景应用程序还有可能存在更长的量程。

我不知道如果应用程序在前台运行而不是在后台运行,应该完成多快 - 这个因素有很多(特别是I / O)。目的是使应用程序更具响应性。

这在某种程度上都是可配置的(可能只在服务器SKU上):

答案 1 :(得分:4)

这取决于您的设置。在默认的Windows 桌面操作系统上,这是真的。在Windows 服务器操作系统(如Windows 2003)上,情况并非如此。

您可以通过进入系统属性并单击性能选项卡来更改设置。确切的布局因Windows版本而异,但您应该看到(或者能够通过单击“高级”子选项卡或查找“调度程序”来查看)“工作站”和“服务器”配置之间的无线电/组合选择,或者选择在优先计划或背景服务之间。在这两种情况下,这些都是相同的东西(只是不同的语言 - 服务器/工作站语言来自Windows 2000,而程序/服务是为更加面向消费者的XP创建的) - 它们确定调度程序是否对线程提供了额外的重要性。最顶层的窗口,或者如果所有线程都被平等对待(基于线程优先级属性)。

答案 2 :(得分:1)

在Windows上部分正确。 Windows将分配一个GUI应用程序,其窗口在顶部略高一些。因此,如果还有其他具有正常或较低优先级的任务,程序可能会以更快的速度运行,而其他程序运行速度会慢一点。

但是有一些问题。当您在Visual Studio IDE中开始编译时,IDE将为编译生成一个单独的进程,并仅将其输出重定向到其自己的窗口。由于编译过程现在没有自己的窗口,因此无法获得加速。

答案 3 :(得分:1)

Windows允许您将“前台”任务赋予优先级优势,因此它可能不是神话。你也可以用另一种方式设置它,让“服务”任务成为优先级优势,因此它取决于安装。

请注意,这仅影响优先级...如果没有其他任务在运行,则在任何一种情况下都不会显着不同。只有在有另一个需要CPU时间的应用程序时才会注意到差异。