И я не знаю, сработает ли это, но в качестве первой попытки я бы попытался написать приложение, которое сожгло процессор, и в этом цикле записи контролировало его загрузку ЦП, получив свой временной интервал, чтобы уменьшить загрузку ЦП докомпенсировать, когда среднее использование превысило целевой процент.
В psuedocode , что-то вроде этого:
while (true)
{
double cpuUtilization = GetCpuUtilization();
if (cpuUtilization > 0.5)
{
Thread.Sleep(0);
}
}
Могут быть некоторые оговорки, которые я здесь не учел,но это не в моей голове.Во-первых, вам, вероятно, потребуется запустить цикл в отдельном потоке для каждого ядра ЦП в системе, поэтому в четырехъядерной системе должно быть четыре потока, каждый из которых выполняет вышеуказанный цикл.