Текстовое поле большого объема, высокая скорость в .Net

я пишу приложение, которое будет отображать последовательные / USB-данные со скоростью до 250кб / сек . Я использую класс .net SerialPort и реагирую на событие DataReceived . Для ранних реализаций этого программного обеспечения я просто сохранял входящие данные в WinForms RichTextBox . Это решение отлично работает до тех пор, пока в элементе управления не будет 50–100 000 строк , после чего приложение «зависнет». С тех пор я пытался достичь своих целей с помощью WPF и обнаружил ту же проблему. В какой-то момент я попытался сохранить в текстовом поле только видимый в данный момент текст , а остальную часть сохранить в большом List , но это решение потребовало огромного количество обходных путей, и, в конце концов, от него отказались - Я бы предпочел не изобретать велосипед .

Теперь я прихожу к вам за нитью надежды - я готов попробовать что угодно ! Следует ли использовать настраиваемый элемент управления (приветствуются как платные, так и бесплатные элементы управления)? SQLite ? Виртуализация , как описано выше? Следует ли мне попробовать опросить SerialPort вместо того, чтобы реагировать на события?

5
задан CWMan 30 November 2010 в 18:30
поделиться