wxPython RichTextCtrl намного медленнее, чем tkInter Text? - PullRequest
0 голосов
/ 29 июня 2009

Я создал небольшой инструмент, который анализирует фрагмент текста, выполняет простую обработку (извлекает значения из словаря, несколько регулярных выражений и т. Д.), А затем выплевывает результаты.

Чтобы упростить чтение результатов, я сделал два графических порта, один с tkInter, а другой с wxPython, поэтому вывод красиво отображается в текстовой области с несколькими словами, имеющими разные цвета.

Реализация tkInter использует объект Tkinter.Text, а для применения цветов к словам используются теги (настроенные с помощью метода Tkinter.Text.tag_config и передающие их Tkinter.Text.insert), а измеренное значение при выводе около 400 разноцветных слов равно 0.02s.

Реализация wxPython использует wx.richtext.RichTextCtrl, а для применения цветов к словам используется wx.richtext.RichTextCtrl.BeginTextColour, а затем wx.richtext.RichTextCtrl.AppendText; производительность просто смешная, для выполнения той же работы, которая заняла всего 0,02 секунды, требуется всего 1,4 секунды.

Это внутренняя проблема виджета RichTextCtrl, привязок wxPython или есть какой-то способ ускорить его?

Спасибо!

Ответы [ 2 ]

1 голос
/ 27 июля 2009

Я копирую здесь комментарий, который решил проблему:

Вы пробовали использовать Freeze () и Оттепель () только для обновления дисплея после того, как вы закончите добавление цветной текст? - 30 июня в 7:20

0 голосов
/ 01 июля 2009

Это немного избегает вопроса, но не могли бы вы вместо этого использовать wxStyledTextCtrl?

...