У меня есть программа, которой я хочу ограничить использование процессора (да, я установил приоритет процесса, и да, он оптимизирован). Он всегда потребляет 100% мощности процессора, он привязан к процессору, и его рабочая нагрузка никогда не закончится.
Я хочу ограничить использование этого процесса 30% -ной загрузкой ЦП, и единственный способ сделать это в приложении для Windows - это периодически переводить программу в спящий режим. Вот результирующее использование процессора:
Использование ЦП, показанное выше, происходит в течение одной секунды. Если взять среднее значение этого графика, оно составляет ~ 32% (цель была 30). Фактически, диспетчер задач сообщает, что процесс использует 25-35% загрузки ЦП в любое время.
Моя программа может быть запущена на ноутбуках, где пользователь может не захотеть, чтобы его поклонники включались для фонового процесса. Кроме того, многие ноутбуки имеют состояние энергосбережения для своих процессоров, и я не хочу, чтобы моя программа выводила процессор из состояния энергосбережения. Включит ли постоянно колеблющееся использование ЦП, показанное выше, вентиляторы ноутбука или выведет его из состояния энергосбережения (использование может быть уменьшено до 15% или даже меньше, но оно все равно вызывает колебания от 100% до 0%).