Эффективное обновление QTableView на высокой скорости

Я использую QTableView с подклассом QItemDelegate для управления внешним видом ячеек таблицы.

Каждая ячейка отображает имя и статус подключенного извне устройства, и одновременно может быть подключено до 100 устройств.

Название и тип каждого устройства в основном статичны, обновляются очень редко (возможно, раз в час), но каждая ячейка должна отображать значение входа устройства в реальном времени, которое я в настоящее время опрашиваю каждые 50 миллисекунд. Это значение отображается в виде базовой гистограммы, нарисованной художником, предоставленным методу Delegate :: paint () в TableView.

Проблема с обновлением моей модели 20 раз в секунду заключается в том, что вся таблица перерисовывается каждый раз, что крайне неэффективно. Ограничение метода рисования только до рисования гистограммы показывает, что большая часть процессорного времени отводится для рисования имени, статуса и связанного изображения в каждой ячейке, а не на графике.

Мне нужно найти способ регулярно обновлять график для каждой ячейки, не перерисовывая ячейку, но я не могу понять, как это сделать.

Каков наиболее эффективный способ достижения этого?

Изменить: изображение прилагается, чтобы помочь.

Изображение представляет 10 датчиков в QTableView. Число, Имя и Статус практически статичны и почти никогда не обновляются. Гистограмма рядом с текстом «Значение датчика» обновляется каждые 50 мс. Я только хочу нарисовать эту строку, а не текст, статус и фон ячейки. Индикаторы состояния и фон являются сложными изображениями, поэтому занимают гораздо больше процессорного времени, чем простое рисование и заполнение прямоугольника.

Ответы на вопрос(3)

Ваш ответ на вопрос