Russian Qt Forum
Ноябрь 01, 2024, 15:37
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Установка, сборка, отладка, тестирование
>
Memory Leak в сборке Qt 5.3.x 64bit под Windows 7
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Memory Leak в сборке Qt 5.3.x 64bit под Windows 7 (Прочитано 5512 раз)
Racheengel
Джедай : наставник для всех
Offline
Сообщений: 2679
Я работал с дискетам 5.25 :(
Memory Leak в сборке Qt 5.3.x 64bit под Windows 7
«
:
Июнь 10, 2015, 16:45 »
Добрый день, уважаемые,
был замечен такой феномен: программы, собранные с Qt 5.3.x в 64-битной конфигурации под Windows 7 постоянно отжирают память при отрисовке чего-либо. ТОТ ЖЕ САМЫЙ код, собранный теми же компиляторами на той же машине в 32-битном варианте таких проблем не имеет.
Проверялось с MSVC 2008 и 2013, результаты одинаковые: 32 бита все ок, 64 бита - дикие утечки памяти.
Сталкивались ли вы с подобным? Можно побороть? Гугл ответа пока не дал...
Записан
What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.
COVID не волк, в лес не уйдёт
Bepec
Гость
Re: Memory Leak в сборке Qt 5.3.x 64bit под Windows 7
«
Ответ #1 :
Июнь 10, 2015, 17:22 »
Вариант, что вы не учитываете разный размер типов 32 и 64 архитектур, подходит или нет?
Тот же sizeof (int) на 32 будет 4, на 64 будет 8, а указатели вроде бы будут иметь размер 64 бита.
PS это именно утечки, или просто большее потребление ресурсов?
Записан
__Heaven__
Джедай : наставник для всех
Offline
Сообщений: 2130
Re: Memory Leak в сборке Qt 5.3.x 64bit под Windows 7
«
Ответ #2 :
Июнь 10, 2015, 17:41 »
Цитата: Bepec от Июнь 10, 2015, 17:22
sizeof (int) на 32 будет 4, на 64 будет 8, а указатели вроде бы будут иметь размер 64 бита.
Не совсем так...
int везде 32 бита. Меняется только размер указателя с 32 на 64 бита.
Записан
Bepec
Гость
Re: Memory Leak в сборке Qt 5.3.x 64bit под Windows 7
«
Ответ #3 :
Июнь 10, 2015, 17:45 »
Не везде. На некоторых архитектурах он именно 8.
К примеру на моём старом рабочем компьютере, AMD-шке, он как раз менялся от 4 до 8.
Записан
Racheengel
Джедай : наставник для всех
Offline
Сообщений: 2679
Я работал с дискетам 5.25 :(
Re: Memory Leak в сборке Qt 5.3.x 64bit под Windows 7
«
Ответ #4 :
Июнь 10, 2015, 17:49 »
Цитата: Bepec от Июнь 10, 2015, 17:22
Вариант, что вы не учитываете разный размер типов 32 и 64 архитектур, подходит или нет?
Нет, мы не делаем ничего специфичного для 32 бит архитектуры.
Цитировать
PS это именно утечки, или просто большее потребление ресурсов?
Ну а в чем разница то? Если ресурсы потребляются чрезмерно - это и есть по сути "утечка". В 32-битном варианте, например, расход памяти доходил до 600 мб и далее не рос, а в 64-битном доходит до 2 гб, потом замедляется, но все равно медленно ползет вверх.
Тут
https://bugs.launchpad.net/stellarium/+bug/1406005
тоже у народа подобная проблема только на 64 битах и только под виндой, отжирание прекращается, когда они отрисовку выключают...
Записан
What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.
COVID не волк, в лес не уйдёт
__Heaven__
Джедай : наставник для всех
Offline
Сообщений: 2130
Re: Memory Leak в сборке Qt 5.3.x 64bit под Windows 7
«
Ответ #5 :
Июнь 10, 2015, 20:55 »
Bepec, мне известно, что на x32 и x64 размер инта 4. Вы про какие-то специфичные говорите архитектуры?
Записан
Racheengel
Джедай : наставник для всех
Offline
Сообщений: 2679
Я работал с дискетам 5.25 :(
Re: Memory Leak в сборке Qt 5.3.x 64bit под Windows 7
«
Ответ #6 :
Июнь 11, 2015, 00:19 »
Ну на Интелах на x32 и x64 размер интов 4 байта - факт. Но Верес говорит про АМД, я так понял.
ЗЫ. у нас проблема на Интелах возникает, так что не в размере интов дело
Записан
What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.
COVID не волк, в лес не уйдёт
Alex Custov
Джедай : наставник для всех
Offline
Сообщений: 2063
Re: Memory Leak в сборке Qt 5.3.x 64bit под Windows 7
«
Ответ #7 :
Июнь 11, 2015, 00:35 »
Цитата: Bepec от Июнь 10, 2015, 17:45
Не везде. На некоторых архитектурах он именно 8.
Это зависит от модели данных, используемой компилятором. Может быть 4, а может и 8, в зависимости от компилятора для данной архитектуры.
Записан
Bepec
Гость
Re: Memory Leak в сборке Qt 5.3.x 64bit под Windows 7
«
Ответ #8 :
Июнь 11, 2015, 00:48 »
Кстати да, замечание Alex Gustov напомнило - в VS 2008 на i7 int тоже становился 8.
PS и да, в предыдущем сообщении я и говорил об AMD, мб просто кого то спугнула русская транскрипция
Записан
Racheengel
Джедай : наставник для всех
Offline
Сообщений: 2679
Я работал с дискетам 5.25 :(
Re: Memory Leak в сборке Qt 5.3.x 64bit под Windows 7
«
Ответ #9 :
Июнь 11, 2015, 01:38 »
Нативный компилятор генерирует код под конкретную архитектуру, он не может сгенерить 8-битовый инт под таргет интел, который поддерживает только 4 бита. Иначе это кросс-компиляция.
Записан
What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.
COVID не волк, в лес не уйдёт
Bepec
Гость
Re: Memory Leak в сборке Qt 5.3.x 64bit под Windows 7
«
Ответ #10 :
Июнь 11, 2015, 02:08 »
Я лично компилил программу sizeof(int). На 64 выдавало 8.
Но не суть.
По всей видимости имеет место именно баг в Qt. Надо бы поразбираться конечно, но не могу - уезжаю отдыхать
Записан
__Heaven__
Джедай : наставник для всех
Offline
Сообщений: 2130
Re: Memory Leak в сборке Qt 5.3.x 64bit под Windows 7
«
Ответ #11 :
Июнь 11, 2015, 09:27 »
интересно...
у меня всегда был intel
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
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 сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...