Why is Snagit Editor using so many Threads?

  • 1
  • Problem
  • Updated 2 months ago
If you look at the Resorce Monitor Snagit is only beaten by "NT Kernel & System".

Snagit version 2019.1.3
Photo of wilfred

wilfred

  • 4 Posts
  • 0 Reply Likes

Posted 3 months ago

  • 1
Photo of Ed Covney

Ed Covney

  • 531 Posts
  • 314 Reply Likes
Wilfred - What you are looking at is how Windows operates at the CPU level. And if you have Excel, Snagit, a couple instance of Firefox, or more than one tab, and many other things needing resources, then Windows will open and close a hundred thousand threads in a single second. Think about that for a few seconds and let her sink in.  Another way to put it is that Windows closes 100,000 threads a seconds, then depending on priority, may immediately re-open that same job! The resource monitor provides by default a running average of #threads over a 1 second period. And it looks like your system is handling all the traffic - great.

If you prefer to "try to see" all 100,000 threads, download Mark Russinovich's "Process Monitor". For a fair assessment allow ProcMon to threads on type. It's a resource hog, so don't expect to get too much done while you monitor. If you don't filter, your won't keep up, but it's a good stress test for your video card.
Mark also has the grand-daddy of Windows 10 Task Manager, call process explorer and an 80 minute video on how to best use it.

Our problem as human beings is our inability to imagine doing 100,000 things in a second. It still blows me away every time I think about it!

 
(Edited)
Photo of davidlambert

davidlambert

  • 255 Posts
  • 79 Reply Likes
My system is no where near as busy as yours.

Photo of Ed Covney

Ed Covney

  • 531 Posts
  • 314 Reply Likes
Mine bounced between 3 and 6% when I opened Handbrake and on the transition two the second pass, it rose to the 84-100% range and that's why they make water coolers!
Photo of wilfred

wilfred

  • 4 Posts
  • 0 Reply Likes
Thank you Ed Covney for the information.

Yes thousands of threads are opened and closed and many of them are probably child processes.
I'm confident that the information presented to me in the Resource monitor is showing usefull information about threads. Otherwise it would be stupid.

I have investegated a little more. And I see that each time I take a screenshot the Treadcount increases. In fact each screenshot shown in the "Recent" area at the bottom is using up a lot of resources threads and memory. Closing them releases the resources. If you take many screenshots during a day over many days this can start to build up and cause problems.

I think this could be done better. Releasing the resources as soon as possible and only showing a thumbnail picture using as little resources as possible.

Photo of Ed Covney

Ed Covney

  • 531 Posts
  • 314 Reply Likes
"I have investegated a little more. And I see that each time I take a screenshot the Treadcount . . .  during a day over many days this can start to build up and cause problems."  Sorry, that will never cause a problem (unless you have a hardware problem?) 

It's Windows not Snagit that creates and end threads. User app software has NO control. 
If I copy a 1 MB file from drive X: to drive Y:, on average Windows will use 32 x 4 (minimally)  threads to do it. i.e the job is chopped up into 128 or more pieces that Windows calls threads.

Thread 1: CRC check on file's first 32K, thread 2: copy 32K from X to Y, Thread 3: CRC check the new 32K arrival on Y, Thread 4: compare CRCs.
Now stop this job schedules its continuance in current clock cycle count plus 50,000. Which means if your current clock ticker is at 11446744073709551616, the job is scheduled for tick time of 11446744073709601616. In that time, about 10 uSec on my system, If thread 4 is done, continue job for next 32K of file, if not done yet, reschedule again in 50,000 more ticks
Heck moving your mouse from here to there can cause 1000s of threads be created and ended before resource monitor saw even one. 

That's where process monitor can do a better job, not a great job a better job. 
Have it monitor just your internal drives.  Now start Snagit and capture something. Useless you have a large RamDisk, do not try to log the processes. 

In the end I think it's a good idea to think about the digital havoc we create with just a push on a mouse.
(Edited)
Photo of wilfred

wilfred

  • 4 Posts
  • 0 Reply Likes
"It's Windows not Snagit that creates and end threads. User app software has NO control". Sorry, but, releasing resources will en the treads.
And clearly the threads you are talking about is not the count listed in resource monitor. And there is a function an app will call to create a thread. It's called CreateThread.
Photo of Ed Covney

Ed Covney

  • 531 Posts
  • 314 Reply Likes
Ok, we're talking in different languages, sorry to confuse you. From my perspective, the OS owns everything, in this case Windows. It provides programs a virtual, protected space in RAM from which, Windows provides for every function a program may ask for. Just semantics, but as you used task manager's resource monitor to start this thread, I thought you also knew the proper terms. Sorry.
Photo of wilfred

wilfred

  • 4 Posts
  • 0 Reply Likes
Oh, a troll.
Photo of Rick Stone

Rick Stone

  • 5936 Posts
  • 2828 Reply Likes
A troll wearing nice threads perhaps?