У меня есть следующий интерфейс, в котором показана сонограмма (частота + время звука). Таким образом, изображение откуда-то не загружается, оно отрисовывается QPainter
при чтении файла WAV
.
Моя текущая реализация - это единственный огромный объект QImage
, на котором рисуется изображение. И на paintEvent ()
я рисую часть большого QImage
на виджете:
QPainter painter(this);
// (int, int, QImage*, int, int)
painter.drawImage(0, 0, *m_sonogram, 0, m_offset);
Но, как я знаю, QPixmap
оптимизирован для отображения растровые изображения на экране, поэтому должен ли я преобразовывать QImage
в QPixmap
после рисования сонограммы?
Кроме того, стоит ли сохранять большое изображение как какое-то связанного списка отдельных QPixmap
объектов меньшего размера и сделать paintEvent ()
более умным для работы со списком меньших объектов, чтобы избежать процедур автоматического вырезания Qt и так далее?
Когда мой QImage достаточно велик, каждое paintEvent ()
потребляет много CPU
.
Приветствуются всевозможные советы :)