PeterMoretti wrote:Jason, how did you came to that conclusion? I'm looking at the Performance Monitor in Win 10, and I see all CPU cores being used.
I used Process Explorer (from Sysinternals) and looked at the threads. The thread whose stack showed it was in functions whose names indicated stabilization was busy, but there was only one such thread. There were other threads involved in decoding and other peripheral work but I just saw stabilization being done in one thread.
For whatever reason, Windows liberally reschedules a given thread across available logical processors so just looking at perfmon or other tools that give a plot per core view can be misleading. The telltale sign of this is when no single core is pegged during CPU intensive tasks. (I don't exactly understand why Windows does this as I'd have thought processor affinity would be better for CPU cache efficiency, but it definitely does this. Maybe it's for thermal management.)
So I was a bit misleading in my earlier post. It's not pegging one single core as such (because Windows' scheduler will bounce the thread around) but it is constrained by single core performance due to stabilization being done in only one thread.