Welcome!

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

SignUp Now!

Maximum value of Buffer Rows

Jul
177
1
Rex,

It would appear, from experimentation, that the maximum value for ConsoleBufferRows and its equivalent in the GUI options is 20,000 (and has been for some time). Is that an arbitrarily chosen limit, an architectural one, or neither of those things and whatever the reason, might it be increased in this age of systems with multiple gigabytes of RAM??
 
It's not entirely arbitrary -- it was chosen several years ago because that was the maximum size where you could still get respectable performance when scrolling and when scanning the hidden console window for changes. (The first is a conhost limitation; the second is a TCMD limitation.)

Do you have a need for > 20K lines?
 
If I'm understanding Microsoft's documentation correctly, the buffer dimensions are signed short ints. So the theoretical max would be 32767, right...?
 
How does that work? I always thought that the limit in a real console was 9999 because that's all the properties dialog allows. But it's easy to see 20000 if that's set in TCMD and the console is detached. With MODE.COM I can get up to 32766 (with an error message thereafter). I can also get 32766 in a new console after a little registry edit.
 
Do you have a need for > 20K lines?
Define 'need' :) I have certainly found myself in the situation several times recently where 20,000 was not enough to show all of the output from a REXX routine that I was running in TCC in a Take Command window. You could reasonably argue (and I wouldn't necessarily disagree with you) that I should be sending that amount of output somewhere other than the console, but in general these are debugging statements, oftentimes in long running routines, and I say them to the console from REXX so that I can see that things are working as desired. When things go awry I may need to work my way back up the output to try and figure out what is going on, which is where I've found myself lacking the necessary output in several cases in the past couple of weeks.
 
How does that work? I always thought that the limit in a real console was 9999 because that's all the properties dialog allows. But it's easy to see 20000 if that's set in TCMD and the console is detached. With MODE.COM I can get up to 32766 (with an error message thereafter). I can also get 32766 in a new console after a little registry edit.
And with MODE.COM you can get up to 16384 columns before an error message. I wonder why it's 2^15-2 for rows and 2^14 for columns.
 
I would pipe the output through tee. Not only do you get rid of the limit, you have a lot more search capabilities with it as a file.

However I might be misunderstanding your use case as this is a pretty simple suggestion that I'm sure you have considered.

Michael
 

Similar threads

Back
Top