Я реализовал CustomPainter. В методе shouldRepaint мне нужно сравнить 6 наборов для глубокого равенства. Я делаю это с помощью setsEqual в данный момент.
Если они абсолютно равны, перекрашивать не нужно, но стоит ли это проверять?
Будет ли намного хуже просто вернуть истину и рисовать, даже если бы мне не пришлось это делать?
Edit:
Я забыл упомянуть, что рисование само по себе довольно просто.
Наборы содержат объекты, которые вычисляют точки (каждый около 5), которые я затем рисую в виде кругов.
Цвет круга зависит от набора, к которому он принадлежит. Из-за взаимодействия с пользователем объекты могут изменить, к какому набору они принадлежат
и если это происходит, StatefulWidget, содержащий CustomPaint, перестраивается с помощью setState.
Я думаю, что сложная часть состоит в том, чтобы решить, следует ли перекрашивать: каждый набор должен сравниваться со старым набором делегатов, и если содержимое одного набора изменилось, мой CustomPainter должен перерисоваться.