在 Windows 8.1 中,计划任务列表包含隐藏任务,用于在不同时间运行内置磁盘碎片整理程序,例如早上将计算机从睡眠状态唤醒时。当碎片整理程序在小型笔记本电脑上运行时,几乎不可能在计算机上完成工作。即使单击菜单也可能会延迟数秒。无法播放视频。
一定有某种方法可以关闭自动碎片整理,或者让它在用户希望的时间运行。有人知道怎么做吗?
补充:也许速度变慢不是由碎片整理引起的,而是由自动维护期间执行的其他任务引起的。我没有找到任何解释或设置。
如果我设计了 Windows,我会确保消息泵永远不会被 I/O 操作或拒绝放弃控制的任务所控制。至少,碎片整理应该每秒故意放弃控制几次,这样它就不会占用计算机并使其挂起或运行非常缓慢。
补充:自从禁用碎片整理后,我发现在随机时间会出现同样的严重减速,最常见的情况是早上唤醒系统时。这似乎证明了我认为碎片整理是罪魁祸首的假设是错误的。我已重新启用碎片整理。
然而,这留下了一个问题:为什么定期维护会严重拖慢系统速度。微软的任务调度程序一如既往地向用户隐瞒细节,没有提示哪些任务或进程名称属于其定期维护计划的一部分。似乎很难做进一步的研究来弄清楚为什么这种严重的速度下降每天都会发生几次。
答案1
没有窗口 / UI 的程序没有消息泵。(我假设您指的是使用Windows API 中的GetMessage()
/函数实现的消息泵。)DispatchMessage()