为什么有些进程无法改变CPU优先级?

为什么有些进程无法改变CPU优先级?

我使用的是较旧的机器,将优先级设置为高于正常或高有助于提高某些应用程序的性能。

比如游戏。我使用系统资源管理器设置优先级,并将其设置为永久,这样每次启动时它都会记住它。但例如对于这个游戏(Apex Legends),它对任何更改都没有反应,我不明白发生了什么。

在此处输入图片描述

答案1

完全有可能,该过程正在以比您想象的更快的速度设置和重置其自身的优先级。

进程可以调用设置优先级类别来设置自己的优先级。该页面中有一条注释提到了如何防止任务妨碍系统响应:

*_PRIORITY_CLASS 值会影响进程的 CPU 调度优先级。对于执行文件 I/O、网络 I/O 或数据处理等后台工作的进程,仅调整 CPU 调度优先级是不够的;即使是空闲的 CPU 优先级进程在使用磁盘和内存时也很容易干扰系统响应能力。执行后台工作的进程应使用 PROCESS_MODE_BACKGROUND_BEGIN 和 PROCESS_MODE_BACKGROUND_END 值来调整其资源调度优先级;与用户交互的进程不应使用 PROCESS_MODE_BACKGROUND_BEGIN。

这是可能的他们遵循此建议并将其处理任务包装在后台优先级中,并且当每个任务完成时,他们将优先级重置回“正常”。

如果您要这样做,那么通常您会存储当前值以便在之后恢复它,但他们可能只是假设很少有用户会更改进程优先级,并且之后将优先级设置为正常就可以了。

只有开发人员才能确定。

相关内容