[Mono-bugs] [Bug 80790][Nor] Changed - Console output is very slow with 2.0 (character by character)

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Sun Feb 11 22:10:08 EST 2007

Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by miguel at ximian.com.


--- shadow/80790	2007-02-10 22:32:39.000000000 -0500
+++ shadow/80790.tmp.29770	2007-02-11 22:10:08.000000000 -0500
@@ -62,6 +62,28 @@
 on slower devices like the Nokia 770/N800.
 In terms of performance, printing character by character may or may not
 slow down the Mono process (haven't checked) but it definitely causes
 slowdowns all the way up the chain to the terminal emulator, framebuffer
 display etc. resulting in slowdowns and flicker.
+------- Additional Comments From miguel at ximian.com  2007-02-11 22:10 -------
+From the IRC discussion (augmented):
+The issue is that the 2.0 console is supposed to keep track of cursor
+position so that you can do full-screen operations.
+There are two issues there:
+1. Its activating the "new" mode of operation too early (it should
+only do it if you trigger a 2.0 call, do this lazily).
+2. The code is "layered", it should instead try to do some
+book-keeping at a higher level (ie, for most characters, avoid going
+down the stack to figure out if it can print more and update the
+cursor position without doing char-by-char output).
+Originally the code was getting the terminal size on each write, I
+started some work to catch "SIGWINCH" instead, and update the values,
+but I have not finished the patch (it is "finished", but buggy: it
+crashes on the call that set the variable).

More information about the mono-bugs mailing list