Информация об изменениях

Сообщение Re: вопрос по реализации от 01.02.2022 18:26

Изменено 01.02.2022 18:30 K13

Re: вопрос по реализации
M>После каждого следующего нажатия кнопки "Multiple files" Heap увеличивается на 80-100 Мб (видно в VMMap).
M>После восемнадцати запусков по кнопке "Multiple files" Heap заканчивается и отображение изображений при
M>последующих нажатиях на кнопку не производится.
M>Вопрос в том, как реализовать функцию prepare_generate_data(), вызываемую в run() рабочей нити, чтобы
M>Heap так не рос.

Не хранить старые QPixmap, например?
Проблема не в prepare_genеrated_data() а в displayPixmap()
Кто будет удалять старые варианты картинки?

Или речь идет о "что-то много жрет каждая картинка"?
Тогда попробуйте закомментарить addPixmap внутри displayPixmap и посмотрите, как меняется занятая память.
Если перестанет течь память -- то проблема именно в QGraphicsView, точнее -- в его подходе к хранению своих элементов.
Re: вопрос по реализации
M>После каждого следующего нажатия кнопки "Multiple files" Heap увеличивается на 80-100 Мб (видно в VMMap).
M>После восемнадцати запусков по кнопке "Multiple files" Heap заканчивается и отображение изображений при
M>последующих нажатиях на кнопку не производится.
M>Вопрос в том, как реализовать функцию prepare_generate_data(), вызываемую в run() рабочей нити, чтобы
M>Heap так не рос.

Не хранить старые QPixmap, например?
Проблема не в prepare_genеrated_data() а в displayPixmap()
Кто будет удалять старые варианты картинки?

Или речь идет о "что-то много жрет каждая картинка"?
На каждое нажатие кнопки генеится 256 картинок.
Только пикселы каждой картинки -- 327 680 байтиков, не считая оверхеда на саму структуру, текстуры внутри QGкaphicsView и т.д.
Умножаем на 256 и получаем почти 82 мегабайта только на сами пиксели при каждом нажатии кнопки.