У меня есть класс, который отображает данные формы аудиофайлов в QWidget (см. Скриншот виджета ниже, тогда я все еще использовал градиент, который вызывал низкую производительность).
Аудиоданные отображаются в paintEvent непосредственно в виджете с использованием нескольких вызовов QPainter::drawLine
(минимальное количество вызовов QWidget::drawLine
эквивалентно ширине виджета => хотя бы одна строка для каждой координаты x ).
Хотя этот подход довольно хорошо работает в Windows (в полноэкранном режиме paintEvent занимает около 4 мс), при запуске программы под MacOS производительность возрастает в 4-5 раз.
Производительность рисования важна для плавной прокрутки отображаемых данных.
Итак, мой вопрос: кто-нибудь знает более быструю альтернативу QPainter.drawLine для рисования линий (решения, зависящие от платформы, могут подойти, если их можно использовать в paintEvent), или есть способ ускорить прокрутку? какая-то буферизация и т.д?
