vte performance issues ...
- From: Michael Meeks <michael ximian com>
- To: desktop-devel-list gnome org
- Cc: Jacob Berkman <jacob ximian com>
- Subject: vte performance issues ...
- Date: 30 Jul 2002 11:07:02 +0100
Hi there,
I'm a big fan of having a working, internationalised terminal - but I'm
extremely concerned about it's performance. It's a very real issue -
just doing a simple build of nautilus I get circumstances where more
time is spent rendering the terminal than doing real work:
PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME COMMAND
1409 michael 16 0 44352 36M 7496 R 55.3 14.5 3:01
gnome-terminal
18857 michael 11 0 4988 4988 764 R 8.9 1.9 0:00 ld
18022 michael 9 0 2228 2228 860 S 5.9 0.8 0:00 sh
[ ok so perhaps this is some IO bound thing but ... ], and incidentally
that's with GDK_USE_XFT=0, a futher export of VTE_USE_PANGO=0 seems to
take this percentage somewhat lower to ~15% or so.
It's pretty easy to repeat the problem; just do a ls -R / and it
occurs; - possibly this is scrollback related - I use 5000 lines of
scrollback; but I imagine it's more likely due to using pango to render
a character at a time with attributed text. [ cf. vte.c:~10570 ].
Worse than this - it seems very much as if the rendering is tied to the
incoming text stream, ie. it's not possible for text to come in without
being rendered; this it seems has the unfortunate side effect of
throttling the system to the rendering time of the vte widget. I'm
guessing this is the case because while doing a ls -R / the terminal
stops being interactive.
Furthermore, even when the widget is not on the screen - and we should
(presumably) be getting no expose events - it is still chewing CPU at a
rate of knots - rendering the text for no-one to see.
Finally my rough profiling shows that the functions hammering the CPU
are:
vte_terminal_draw_chars's
pango_x_render_layout, and
pango_layout_set_attributes
And to conclude - it's great to have an i18n-able terminal, but my
experience with it has been like wading through treacle: extraordinarily
frustrating.
Regards,
Michael.
--
mmeeks gnu org <><, Pseudo Engineer, itinerant idiot
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]