Loops per second of thread suddenly drops

I'm writing a program that copies the bitmap of the desktop (like a screenshot), calculates the average RGB value of the screen, and send it over USB.
Everything is working and I manage to get 30+ loops per second, which is good enough.

However, after some time (varying between ~20 sec and ~1 min 30 sec), and not doing anything else, the loops per second suddenly drop to about 10 loops per second, which is too slow for my purpose. This transition happens within a fraction of a second.

When I watch the Task Manager, and don't see anything special happening. The CPU time for my process remains the same, the total CPU usage is quite stable, memory usage is stable as well.

I've tried changing Thread priority and Process priority but nothing seems to work. I am at a loss here.

Anyone has any ideas? I would greatly appreciate any suggestions, advice and thoughts.


  • I found the problem,
    it seems my processor, which is an Intel, slows down sometimes for some crazy reason.
    This happened at the exact same time my program slowed down as well...
  • [color=Blue]This is not really finding the "real" reason, is it?
    How can you prove that CPU slows down for some crazy reason?[/color]
  • It might be [link=http://en.wikipedia.org/wiki/Dynamic_frequency_scaling]CPU throttling[/link] trying to keep the temperature down. This can be disabled in the BIOS.
  • It's called Speed Step. Notebooks to this to save battery life. However, my notebook does it even if I'm plugged in and on high performance profile.
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!