Увеличение потребляемых ресурсов, Проблема с памятью |
Здравствуйте, гость ( Вход | Регистрация )
Увеличение потребляемых ресурсов, Проблема с памятью |
Thelearning |
11.3.2011, 23:58
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 5 Регистрация: 27.2.2011 Пользователь №: 2453 Спасибо сказали: 0 раз(а) Репутация: 0 |
Всем доброго времени суток!
Сразу оговорюсь C++ плотно не изучал, но появилась необходимость в изучении Qt4. Читаю книгу Макса Шлее "Qt 4.5 Профессиональное программирование на C++". В книге есть пример с LCD индикатором и полосой прокрутки. Я добавил туда еще и прогрессбар. Вопрос в следующем: при запуске программки, она потребляет определенное количество оперативной памяти, когда пользователь (в данном случае я) двигает ползунок, количество потребляемых ресурсов увеличивается, но при прекращении действий, не уменьшается. Таким образом если двигать ползунок долго и упорно, выделяемая на процесс память так же увеличивается постоянно и не уменьшается. Так и должно быть?? Получается, что со временем этот виджет будет кушать все больше и больше. Как это исправить?? Заранее спасибо! ))) Вот код:
|
|
|
Алексей1153 |
12.3.2011, 12:32
Сообщение
#2
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
а если убрать соединения этих двух сигналов - поведение такое же ? Может быть, глюк в LCD
|
|
|
abc |
12.3.2011, 12:57
Сообщение
#3
|
Участник Группа: Участник Сообщений: 221 Регистрация: 16.12.2010 Из: СПб Пользователь №: 2272 Спасибо сказали: 26 раз(а) Репутация: 4 |
запустил твою прогу. я бы сказал, что ты преувеличиваешь. Да, память забирает поначалу, но если подвигать окно по экрану, это тоже память подберёт. Ну, увеличилась она на 300 кб или типа того.. дальше не потребляется. думаю, всё в норме
ещё добавлю, что где-то (тут, может быть) читал, что диспетчеры показывают не ту инфу о памяти, которую ты ожидаешь... Ты думаешь, что каждый твой delete они должны отразить, а на самом деле память освободилась, а они этого не покажут.. вроде как для твоего процесса память освободилась, а ОС её не забрала за ненадобностью, вот ты и получаешь не ожидаемые данные... Прошу заметить, что это "из уст в уста") Сообщение отредактировал abc - 12.3.2011, 13:12 |
|
|
Thelearning |
12.3.2011, 19:51
Сообщение
#4
|
Новичок Группа: Новичок Сообщений: 5 Регистрация: 27.2.2011 Пользователь №: 2453 Спасибо сказали: 0 раз(а) Репутация: 0 |
Цитата а если убрать соединения этих двух сигналов - поведение такое же ? Может быть, глюк в LCD Поведение точно такое же. Причем не изменяется если убрать один из них, либо оба. Цитата запустил твою прогу. я бы сказал, что ты преувеличиваешь. Да, память забирает поначалу, но если подвигать окно по экрану, это тоже память подберёт. Ну, увеличилась она на 300 кб или типа того.. дальше не потребляется. думаю, всё в норме Я тоже по началу подумал, что нормально все. Но поведение следующее: потребляемая память увеличивается более заметно если не просто водить ползунок из стороны в сторону, а нажимать левой кнопкой мыши по стрелкам полосы прокрутки... далее на определенном этапе процесс вроде прекращается, но если подождать несколько секунд и продолжить тыкать в полосу, но память растет опять. Я так за пару минут увеличил объем потребляемой памяти на 2 мб... Цитата что диспетчеры показывают не ту инфу о памяти, которую ты ожидаешь... Тут абсолютно согласен. Использовать диспетчер задач стандартный (у мну ОС Windows 7) не очень интересно для выявления подобного рода ошибок. Но тем не менее тенденцию проследить можно. Возможно стоит просто сменить программку, которая отслеживает память?? |
|
|
abc |
12.3.2011, 20:58
Сообщение
#5
|
Участник Группа: Участник Сообщений: 221 Регистрация: 16.12.2010 Из: СПб Пользователь №: 2272 Спасибо сказали: 26 раз(а) Репутация: 4 |
ещё раз запустился, последил, нет, у меня ничего подобного не наблюдается, я под XP
|
|
|
Thelearning |
12.3.2011, 21:47
Сообщение
#6
|
Новичок Группа: Новичок Сообщений: 5 Регистрация: 27.2.2011 Пользователь №: 2453 Спасибо сказали: 0 раз(а) Репутация: 0 |
Наверно все таки действительно дело в диспетчере задач...ок )))
Спасибо за содействие !! ))) |
|
|
abc |
13.3.2011, 1:07
Сообщение
#7
|
Участник Группа: Участник Сообщений: 221 Регистрация: 16.12.2010 Из: СПб Пользователь №: 2272 Спасибо сказали: 26 раз(а) Репутация: 4 |
не греши на Qt, вряд ли они могли допустить "страшные катаклизмы"
|
|
|
Алексей1153 |
13.3.2011, 13:38
Сообщение
#8
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
(у мну ОС Windows 7) я когда то себе для подобных исследовательских целей делал утилитку - попробуй. Под семёркой никогда не запускал, даже интересно, как она там себя поведёт ) В общем то, давно ей сам уже не пользовался, как-то без надобности http://st.free-lance.ru/users/alex1153/upl...f93ae7def61.rar Сообщение отредактировал Алексей1153 - 13.3.2011, 13:38 |
|
|
Thelearning |
13.3.2011, 14:06
Сообщение
#9
|
Новичок Группа: Новичок Сообщений: 5 Регистрация: 27.2.2011 Пользователь №: 2453 Спасибо сказали: 0 раз(а) Репутация: 0 |
Большое спасибо!!! )))) Обязательно попробую! )) Потом отпишусь как она под семеркой заводится ))
|
|
|
RazrFalcon |
13.3.2011, 16:52
Сообщение
#10
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Проверил ради интереса на Ubuntu c Qt 4.7
Совершенно не меняется загрузка ОЗУ, как было при запуске 4.1Mb - так после 5-и мин издевательств и осталось. |
|
|
Текстовая версия | Сейчас: 1.12.2024, 2:29 |