Russian Qt Forum
Ноябрь 24, 2024, 10:01
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Установка, сборка, отладка, тестирование
>
Утечка памяти - виноват GUI?
Страниц: [
1
]
2
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Утечка памяти - виноват GUI? (Прочитано 13803 раз)
max1983
Гость
Утечка памяти - виноват GUI?
«
:
Июль 19, 2009, 09:56 »
Утечка памяти - виноват GUI?
Кинул на форму пару стандартных элементов.
Откомпилил в Release.
Запускаю и делаю Resize маусом.
В диспетчере задач наблюдаю утечку памяти.
Ет ток у меня так?
Записан
f-r-o-s-t
Гость
Re: Утечка памяти - виноват GUI?
«
Ответ #1 :
Июль 19, 2009, 10:46 »
И как в диспечере отображается утечка, на сколько ?=)
Записан
max1983
Гость
Re: Утечка памяти - виноват GUI?
«
Ответ #2 :
Июль 19, 2009, 11:50 »
Цитата: f-r-o-s-t от Июль 19, 2009, 10:46
И как в диспечере отображается утечка, на сколько ?=)
Стартовое значение при запуске - 5608
1 минута ресайза - 9 700
и дальше вроде не растет.
Пару кнопок меняют стиль поочередное нажимание съело еще 5 метров.
Ну так что ет ток у меня так?
Конечно я понимаю что утечка незначительная но 10 метров для приложение котороеимеет 15 кнопок и еще 5 контролов которые ничего не делают
«
Последнее редактирование: Июль 19, 2009, 11:55 от max1983
»
Записан
Rcus
Гость
Re: Утечка памяти - виноват GUI?
«
Ответ #3 :
Июль 19, 2009, 11:51 »
Хотел написать про то что стыдно измерять утечки при помощи taskmgr, а потом глянул на цены Purify, BoundsChecker и AQtime
Ну нафиг эту винду, Valgrind + memcheck | massif /* В данном случае я бы взял именно его */ | callgrind(+KCachegrind) хоть тормозит, но всегда под рукой
Записан
max1983
Гость
Re: Утечка памяти - виноват GUI?
«
Ответ #4 :
Июль 19, 2009, 11:57 »
Цитата: Rcus от Июль 19, 2009, 11:51
Хотел написать про то что стыдно измерять утечки при помощи taskmgr, а потом глянул на цены Purify, BoundsChecker и AQtime
Ну нафиг эту винду, Valgrind + memcheck | massif /* В данном случае я бы взял именно его */ | callgrind(+KCachegrind) хоть тормозит, но всегда под рукой
Да я не ищущий баги в библиотеке QT
Просто интересно как у других..
И как дела в линьке и маке.
Записан
f-r-o-s-t
Гость
Re: Утечка памяти - виноват GUI?
«
Ответ #5 :
Июль 19, 2009, 12:05 »
Цитата: Rcus от Июль 19, 2009, 11:51
Хотел написать про то что стыдно измерять утечки при помощи taskmgr, а потом глянул на цены Purify, BoundsChecker и AQtime
Ну нафиг эту винду, Valgrind + memcheck | massif /* В данном случае я бы взял именно его */ | callgrind(+KCachegrind) хоть тормозит, но всегда под рукой
Я уже давно решил что нафиг =)
Цитата: max1983 от Июль 19, 2009, 11:50
Стартовое значение при запуске - 5608
1 минута ресайза - 9 700
и дальше вроде не растет.
Пару кнопок меняют стиль поочередное нажимание съело еще 5 метров.
Ну так что ет ток у меня так?
Запустил vbox попробывал, при продолжении ресайза в меньшую сторону
память тоже медленно уменьшается.
Записан
Kagami
Гость
Re: Утечка памяти - виноват GUI?
«
Ответ #6 :
Июль 19, 2009, 13:29 »
Вроде Qt использует буферизацию окна для ускорения скорости отрисовки. Скорее всего это кеш растет с увеличением размера окна.
Записан
lit-uriy
Джедай : наставник для всех
Offline
Сообщений: 3880
Re: Утечка памяти - виноват GUI?
«
Ответ #7 :
Июль 19, 2009, 14:23 »
max1983, диспетчер задач - не измерительный инструмент.
По нему лучше ориентироваться, имеется ли процесс в памяти и всё.
Если ты будешь работать с контейнерами Qt, то диспетчер задач тебя вообще сильно озадачит.
Записан
Юра.
ufna
Гость
Re: Утечка памяти - виноват GUI?
«
Ответ #8 :
Июль 19, 2009, 15:17 »
да, в диспетчере задач по этому делу чудеса творятся, особенно если много чего рисуется своими методами, а еще и с контейнерами..
к счастью, это не значит что все плохо
Записан
max1983
Гость
Re: Утечка памяти - виноват GUI?
«
Ответ #9 :
Июль 19, 2009, 15:52 »
Цитата: lit-uriy от Июль 19, 2009, 14:23
max1983, диспетчер задач - не измерительный инструмент.
По нему лучше ориентироваться, имеется ли процесс в памяти и всё.
Если ты будешь работать с контейнерами Qt, то диспетчер задач тебя вообще сильно озадачит.
Значит последняя страшная история такова:
Для создание красивого интерфейса как-то решил использовать один популярный контрол
все в стиле office 2007 и после 3 недель разработки проги с его "крутым дизайном" обнаружил что размер
проги после 10 резайзов формы стал почти 80 метров в диспетчере задач
тут и так понятно что дело просто дрянь.
чем больше ресайзов тем больше размер
с тех пор чтоб не терять дорого время проверяю таким быстрым способом
понятно что ето не профессионально но и так понятно когда с оперативы пропали 100 метров то и любой способ для проверки пойдет
тут ситуация не такая страшная
вот я подумал мож у кого есть готовый проект, ему та просто стоить запустить прогу и ресайзить немного
и поделится с народом опытом.
Записан
lit-uriy
Джедай : наставник для всех
Offline
Сообщений: 3880
Re: Утечка памяти - виноват GUI?
«
Ответ #10 :
Июль 19, 2009, 16:07 »
max1983, прога есть у всех, Qt Assistant/Designer, виджетов в нём достаточно, тестируй, сравнивай.
Тест на Асистенте:
22М/13М
Если я изменяю размер Асистента в большую сторону то получаю
23М/14М
Если я изменяю размер Асистента в меньшую сторону то получаю
22М/13М
Записан
Юра.
Фродо
Гость
Re: Утечка памяти - виноват GUI?
«
Ответ #11 :
Август 03, 2009, 21:37 »
Юзай Деликер!
Записан
SASA
Гость
Re: Утечка памяти - виноват GUI?
«
Ответ #12 :
Август 04, 2009, 12:35 »
Цитата: lit-uriy от Июль 19, 2009, 14:23
max1983, диспетчер задач - не измерительный инструмент.
По нему лучше ориентироваться, имеется ли процесс в памяти и всё.
Не согласен. Может память он кажет не верно, но GUI ресурсы показывает правильно.
Про Qt.
Я писал на форуме про утечку регионов
http://www.prog.org.ru/topic_7602_0.html
.
Пишем тролям. Они - "У нас ваша тестовая программа работает нормально. И диспетчер задач - не измерительный инструмент".
Но не скажешь же, что ворованый BoundsChecker показывает утечку, причём дикую!
Засняли ролик, как полсе выделения 10000-ого ресурса окно перестаёт отрисовываться. Месяц не было ответа, потом закончилась лицензия
Вообщем, троли в утечках не признаются.
Записан
pastor
Administrator
Джедай : наставник для всех
Offline
Сообщений: 2901
Re: Утечка памяти - виноват GUI?
«
Ответ #13 :
Август 04, 2009, 22:51 »
Цитата: SASA от Август 04, 2009, 12:35
Но не скажешь же, что ворованый BoundsChecker показывает утечку, причём дикую!
А зачем им это знать, ворованный ли у тебя BoundsChecker или нет. Отправил лог да и все. Лицензию на BoundsChecker точно запрашивать небудут
Записан
Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
ритт
Гость
Re: Утечка памяти - виноват GUI?
«
Ответ #14 :
Август 05, 2009, 02:59 »
Цитата: SASA от Август 04, 2009, 12:35
Засняли ролик, как полсе выделения 10000-ого ресурса окно перестаёт отрисовываться. Месяц не было ответа, потом закончилась лицензия
Вообщем, троли в утечках не признаются.
странное заявление. как минимум потому, что буквально на днях *бага* с использованием объекта гди в регионах была официально исправлена для 4.6.0:
Цитировать
- QRegion is no longer a GDI object by default. This means it is no
longer subjuect to gui-thread only nor does it potentially impact
the 10.000 GDI object limit per process. By explicitly calling
.handle() a GDI object will be created and memory managed by
QRegion. The native handle is for reading out only. Any GDI calls
made on the HRGN handle will not affect the QRegion.
бага без номера - подозреваю, уведомлял об утечке не через трекер?
Записан
Страниц: [
1
]
2
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...