Nuutti Kotivuori wrote:
I did some tracing of the problem and discovered that
urwid.util.calc_width function was what caused the performance
difference - calculation of actual text widths in utf8 is obviously
much harder to do than in normal 8-bit encodings. By forcing the
calc_width function to use the same method of calculating widths as
with ASCII, the performance problems went away.

In any case, this slowness is a showstopper for me - and I'm wondering
what would be the best way to optimize this.

A workaround is to call urwid.set_encoding('ascii'), but that's not a solution.

Currently Urwid redraws all the visible widgets every time you call render. The Text widgets do cache the result of their alignment and wrapping, but Urwid might be calling calc_width unnecessarily on text it should already know the width of.

Would you post a simple example that demonstrates the problem?

Ian



_______________________________________________
Urwid mailing list
[email protected]
http://lists.excess.org/mailman/listinfo/urwid

Reply via email to