On Wed, Nov 13, 2013 at 4:44 AM, Gabriele Greco <gabriele.gr...@darts.it> wrote:
> I suggest you to use GtkTextView for your text output, thank to GtkTextTag
> it's flexible enough to do everything a mud client needs, also blinking
> text, it scrolls at line boundaries and let you keep thousands of lines of
> textbuffer without slowdowns.

Hmm. I used to have something using that, in one of the early tests,
but there was either a critical performance problem, or something I
couldn't do with it. Can that handle mark-and-copy, clickable URLs,
and so on? Or possibly it's that you say "thousands" there; to me,
thousands of lines is just barely getting started. My current session
in Gypsum has barely started and I already have 50K lines; my RosMud
session currently has 300K lines of scrollback; and I've noted as an
unsolvable RosMud bug that it's unacceptably slow adding the
16,777,216th line to the buffer (because it does a naive
double-and-move-pointers operation). Unfortunately I don't have (or
can't find) my notes on exactly what was wrong there, but there were
some issues on Windows that I had to warp my code around. (Gypsum is
slated as a replacement for RosMud, a Windows client, so it has to be
at least plausibly equivalent in performance and functionality. Being
awesome on Linux and abysmal on Windows isn't good enough.)

I'm currently looking at whether it's worth bypassing the
ScrolledWindow and simply putting an Hbox with the DrawingArea and a
Scrollbar, and managing the scroll position myself. That might be
easier, I don't know; is there a way to blit a DrawingArea's contents?
I can't find anything. (It'd make scrolling a lot quicker and smoother
if I could say "move this bit here".)

ChrisA
_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list

Reply via email to