My compute intensive image processing application, when run (on Windows 8.1 HP Laptop) gets the CPU to run at over 100% as expected, but at the same time the Service CPU usage goes up to over 50% (very unexpected) and the services listed that are using a lot of CPU do not make sense at all.
My compute intensive image processing application, 1st grabs a few thousand frames of video data from a camera and then does image processing on the data. During the grabing of frames some pre-computation (histogram, min/max, etc.) is computed on the frames as they come in but the bulk of processing is done after. Grab takes about 10 seconds and computation 13-20 seconds. I use OMP with Visual Studio 2013 for all computations to distribute to all 8 CPU on my laptop.
Here is what the Resource Monitor shows:
When I replaced the compute intensive functions with Sleep
the CPU dropped to close to 0 and Service CPU also dropped to close to 0, so it is not the OMP, threads, semaphores, etc. that are causing the Service CPU to go high as those still happen like before.
My questions are:
How come the Service CPU goes high just because my threads are computing something?
Why such services as "DigitalPersona Aut..", "Win.. Defendeer..", "Win.. Phone..", "IP Helper", etc. get involved in heavy computation tasks.
Is 50% CPU wasted on needles Services tasks?
Anyone have any idea or knowledge about this.