FlowDocument и я. Кто тормоз?
От: matumba  
Дата: 19.11.10 21:47
Оценка:
Ребят, очень медленно работает FlowDocument. Поискал по форуму — никто не жалуется! Странно даже.
Подробнее: работает большой алгоритм, выводящий логи с подсветкой. Код тупо повешен под клик кнопки, т.е. жмём, кнопа залипает, алгоритм отработал, отображается большая простыня сообщений. Код лога:
flowLogDoc.Blocks.Add(new Paragraph(new Run(msg)) {Foreground = new SolidColorBrush(color), FontFamily = ff, FontSize = 11});

flowLogDoc — мой FlowDocument, вложенный в FlowDocumentScrollViewer (уже описано в XAML).
ff — предопределённый FontFamily("DejaVu Sans Mono") (это я уже ускорением занимался). Работу алгоритма специально замерял — буквально, доли секунды, но сам документ (жалкие 700 строчек) показывается аж через 17 секунд! (при первом старте — вплоть до минуты, чо он там, гад, компилирует?? )
Вобщем, просьба о помощи, плиз: это я не в ту сторону кручу или отображатель такой тормозной?

PS
Догадываюсь, что FlowDocument можно сначала создать, потом — всунуть в FlowDocumentScrollViewer, ну а если сообщения нужно отображать синхронно? В любом случае, код "побырому" вставляет в документ кучу параграфов, не требуя отображения (интерфейс заморожен), что ж тут сложного отрендрить-то?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.