Russian Qt Forum
Ноябрь 01, 2024, 05:30 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Реальный размер QPixmap'а в памяти  (Прочитано 3763 раз)
Crazy Sage
Гость
« : Декабрь 01, 2012, 11:40 »

Как можно узнать реальный размер QPixmap'а? sizeof(QPixmap) дает мне всегда 12 байт.
Ну или во сколько раз примерно QPixmap будет больше, чем jpeg из которого он разворачивается?
А то программа отжирает в памяти какие-то кошмарные объемы памяти как раз при открытии изображений.
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #1 : Декабрь 01, 2012, 11:53 »

1. Пиксмап хранится на стороне графической системы!
2. Делать sizeof( любой Qt класс ) глупо ибо qt-ишники используют PIMPL.
« Последнее редактирование: Декабрь 01, 2012, 11:55 от GreatSnake » Записан

Qt 5.11/4.8.7 (X11/Win)
Crazy Sage
Гость
« Ответ #2 : Декабрь 01, 2012, 12:34 »

1. Пиксмап хранится на стороне графической системы!
2. Делать sizeof( любой Qt класс ) глупо ибо qt-ишники используют PIMPL.

1. Можешь подробнее объяснить, что это значит в случае с Windows? Просто у меня проект при открытии jpeg'ов на полтора мегабайта дискового места отжирает шестьдесят мегабайт памяти, а в нормальном режиме джпегов гораздо больше, вот я и пытаюсь понять, это с ними связано или искать где-то еще трату памяти.

2. это я уже понял, что бесполезно, теперь буду знать почему, спасибо)
Записан
V1KT0P
Гость
« Ответ #3 : Декабрь 01, 2012, 13:50 »

Просто у меня проект при открытии jpeg'ов на полтора мегабайта дискового места отжирает шестьдесят мегабайт памяти, а в нормальном режиме джпегов гораздо больше, вот я и пытаюсь понять, это с ними связано или искать где-то еще трату памяти.
JPEG это формат сжатия с потерями, естественно в сжатом виде он будет в разы меньше занимать памяти. А вот для отрисовки на экране будет распаковываться в несжатый массив.
Вот взял первый попавшийся jpeg: 328КБ 460х5680 в памяти он займет 460х5680х3 = 7654КБ в 23 раза больше.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.422 секунд. Запросов: 23.