繁体   English   中英

有没有办法限制其他应用程序的 CPU 使用率?

[英]Is there a way to limit the CPU usage of OTHER applications?

所以,我哥哥在玩《堡垒之夜》,而且有点落后。 因此,我提议制作一个应用程序来限制其他应用程序的 CPU 使用率,但实际上我无法在其他应用程序上获得 go 的限制。

这是我尝试过的代码:

public void ThrottledLoop(Action action, int cpuPercentageLimit)
        {
            Stopwatch stopwatch = new Stopwatch();

            while (true)
            {
                stopwatch.Reset();
                stopwatch.Start();

                long actionStart = stopwatch.ElapsedTicks;
                action.Invoke();
                long actionEnd = stopwatch.ElapsedTicks;
                long actionDuration = actionEnd - actionStart;

                long relativeWaitTime = (int)(
                    (1 / (double)cpuPercentageLimit) * actionDuration);

                Thread.Sleep((int)((relativeWaitTime / (double)Stopwatch.Frequency) * 1000));
            }
        }

请帮忙,如果您需要任何其他信息,请告诉我。 谢谢


以上评论总结。


您可以指定允许在哪些处理器“亲和力” )上运行进程。 这提供了比设置进程优先级更精细的控制。

例如,将某些进程限制为具有 16 个逻辑核心的系统上的最后 4 个核心,但允许Fortnite使用它想要的任何东西。 请注意,某些应用程序可能不会对它太友好。

反病毒程序有时会通过将自己保持在系统内核列表的末尾而发挥出色。

例如,查看 Windows任务管理器详细信息选项卡。

也可以看看

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM