Atualização eficiente de um QTableView em alta velocidade

Estou usando um QTableView com uma subclasse de QItemDelegate para controlar a aparência das células da tableview.

Cada célula exibe o nome e o status de um dispositivo conectado externamente e até 100 dispositivos podem ser conectados ao mesmo tempo.

O nome e o tipo de cada dispositivo são essencialmente estáticos, atualizando muito raramente (talvez uma vez por hora), mas cada célula precisa exibir um valor em tempo real da entrada do dispositivo, que atualmente pesquiso a cada 50 milissegundos. Esse valor é exibido como um gráfico de barras básico desenhado pelo pintor fornecido ao método Delegate :: paint () pelo TableView.

O problema com a atualização do meu modelo 20 vezes por segundo é que a tabela inteira é redesenhada a cada vez, o que é altamente ineficiente. Limitar o método de pintura ao desenho apenas do gráfico de barras mostra que a maior parte do tempo da CPU é dedicada ao desenho do nome, status e imagem associada em cada célula, em vez do gráfico.

O que preciso encontrar é uma maneira de atualizar o gráfico para cada célula regularmente sem redesenhar a célula, mas não consigo descobrir como fazê-lo.

Qual é a maneira mais eficiente de conseguir isso?

Editar: imagem anexada para ajudar.

A imagem representa 10 sensores em um QTableView. O Número, Nome e Status são praticamente estáticos, quase nunca sendo atualizados. O gráfico de barras ao lado do texto 'Valor do sensor' é atualizado a cada 50ms. Eu só quero pintar essa barra, em vez do texto, status e plano de fundo da célula. As luzes de status e o plano de fundo são imagens complexas, portanto, gaste muito mais tempo da CPU do que simplesmente desenhar e preencher um retângulo.

questionAnswers(3)

yourAnswerToTheQuestion