Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!

Output slows down

May
15,047
271
After two weeks of trying to figure out what's going on all I can say for sure is it happens with TCC38 and the two latest WTs (release 1.24 and preview 1.25).

When it happens is quite variable ... could be a few minutes after TCC was started, could be hours, could be overnight.

What happens is that output slows down in a very peculiar way ...

I first noticed it with history recall (up, down arrows); the first several chararters (guessing about 16) are written slowly to the command line. If the recalled command is long enough, the rest of the command zooms (as usual) onto the command line. If I press and hold, say up, then the first few commands are written slowly and thereafter, fast. What seems to be constant is the duration of the slowness, not the amount of output.

The slowdown is also obvious when pasting to the command line. It's as above ... slow at first, then fast if it's long enough.

It's the same with command output (some commands anyway). DIR, for example ... the first several lines are slow ... if enough output they speed up. ECHO did not seem affected.

I've also seen the slowdown pasting into ESET /A.

It's very annoying and I haven't been able to figure out much about it.

Has anyone else seen this or have any idea what's going on?
 
I have not seen that behavior, but I have seen another weird thing with Version 36 of TCMD/TCC, multiple times. Just not able to reliably recreate it.


Sometimes when recalling/completing prior commands at the command line by typing some letters and then hitting the up-arrow key, the recalled line will be partially inserted at the current command line, and then also somewhere in the previously displayed output in the screen buffer.

And it continues to do that for all future command recalls using the up-arrow. I believe that typing a command when that happens also ends up overwriting the screen buffer. I seem to recall that issuing a CLS command fixes things. Definitely a CLS /C fixes things.

As I said I haven't been able to reliably recreate it...so my testing has been somewhat limited. But it definitely happens.

I have attached a screenshot I marked up from one time when this happened. The full command line being recalled was "C:\batfile\CopyPics.btm /T"

I suspect I typed C:\b and then hit the up arrow, but can't be 100% sure.

I highlighted where it was partially inserted at the expected place and then fully inserted above.

Anyone else experience that?
 

Attachments

  • CommandCompletionIssue2.webp
    CommandCompletionIssue2.webp
    52.1 KB · Views: 31
For me, ConPty tab.

ConPTY tab in Windows Terminal, not TCMD, correct?

There's about 147,000 moving parts here; I doubt you're going to be able to pin down to a specific process. Have you tried looking at Task Manager during a slowdown to see what's consuming CPU?

I frequently see temporary slowdowns in Windows, independent of whether I have TCC / TCMD running.
 
These are half-second (or so) slowdowns. I don't think taskmgr will be enlightening. I'll try.
 
This is still plaguing me. I've had three WTs running for over a day, 1.23 (store), 1.24 (release), and 1.25 (preview), and each running two TCCs, v35 and v36. Only the preview WT together with TCCv36 has (so far) exhibited this problem. Any ideas? Does anyone else run WT v1.25?
 
There is one observation that might let Rex (not me) speculate on what's going on. When the output slowdown occurs for the first several lines of, say, DIR's output, I can actually measure it (not very accurately) with a handheld stopwatch ... roughly .5 second from Enter to prompt reappearing (compared to no slowdown). However ...

I have a plugin, _CMDTIMER, which uses the Performance Counter. It reads the PerfCount on Enter and again when it's referenced, returning the difference. It shown no difference between slowdown and no slowdown. On a 0.03 second DIR command a 0.5 second difference inside TCC should be measurable. That makes me think that TCC sends output of DIR, WriteFile (or whatever) returns and TCC moves on to evaluating _CMDTIMER and sending that output ... all in good time ... and the slowdown occurs later. This makes me lean towards WTv1.25 as the reason for the slowdown ... but it also requires TCC v36. Rex, does v36 write to the ConPty the same as v35 when in WT?
 
Rex, does v36 write to the ConPty the same as v35 when in WT?

That depends - if you're colorizing your directory, then v36 will send ANSI sequences (to work around the Windows console API bug discussed earlier where the API didn't want to write to a black background).

If you're not colorizing directories, v36 and v35 use identical output code.
 
Back
Top