Результаты поиска
Найдено результатов: 1
CPU дросселирование в C++
Мне просто интересно, есть ли элегантный способ установить максимальную нагрузку CPU для конкретного потока, выполняющего интенсивные вычисления.
Прямо сейчас я нашел самый трудоемкий цикл в потоке (он делает только сжатие) и использую GetTickCount() и Sleep() с жестко заданными значениями. Это гарантирует, что цикл продолжается в течение определенного периода времени, а затем спит в течение определенного минимального времени. Он более или менее выполняет свою работу, т. е. гарантирует, что поток не будет использовать более 50% из CPU.
Однако поведение зависит от количества ядер CPU (огромный недостаток) и просто уродливо (меньший недостаток :)).
Есть идеи?