У меня есть приложение, которое каждую секунду добавляет более 10 элементов в список. Это приводит к тому, что элемент управления и пользовательский интерфейс перестают отвечать на запросы, а иногда и не могут даже нарисовать его достаточно, а также потребляют много ресурсов ЦП.
Эти новые элементы поступают из разных потоков, поэтому я не могу использовать .BeginUpdate()
, если я не выполняю какое-то локальное кэширование.
Если я выполняю BeginUpdate () и EndUpdate через фиксированные промежутки времени, тогда контроль застревает неокрашенным / пустым между интервалами.
Как лучше всего решить эту проблему? Кэширование звучит для меня глупо, потому что в теории у контроля все равно есть свое собственное кэширование, поэтому у меня должен быть способ сказать контролу не обновлять, а оставить элемент управления в последнем нарисованном состоянии вместо чего-то пустого.