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

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

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Память и Phonon  (Прочитано 10120 раз)
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3258


Просмотр профиля
« : Апрель 01, 2009, 15:12 »

Заметил, что под макосью мое приложение (медиаплеер) жрет бешеное количество памяти. Пустая формочка ест 15 метров, после подгружения трека вес становится от 40 до 50 мб, потом стабилизируется и растет не сильно (там утечка в виде объектов Phonon::MediaObject, такой соответствует каждому загруженному файлу.) Однако даже при одном открытом файле видео вес 50мб как-то напрягает. Это нормально?
ПОд виндой протестить не смог, тк линкер не находит phonond (его кстати нету, но релиз версия тоже не собирается ввиду того, что не может найти phonon). Пробовал ковырять мейкфайл - писать прямой путь и тп - не видит ни в какую. Если создать пустой проект, то он собирается, но при подключении о5 же фонона появляется ошибка линковки. Что делать?)
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #1 : Апрель 01, 2009, 16:25 »

А под виндой чем собираешь?
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3258


Просмотр профиля
« Ответ #2 : Апрель 01, 2009, 22:51 »

minGW/g++
ума не приложу, библиотека же есть:) в старых версиях без проблем цеплял сторонние либы, а тут на те - нету и всё:(
и вопрос про память остается открытым - это нормально для такого рода приложений? собственно в статике там только гуи (чистый гуй 17мб оперативы - тоже не слабо) да 2 Phonon::MediaObject ==40мб
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #3 : Апрель 01, 2009, 23:24 »

minGW/g++
ума не приложу, библиотека же есть:) в старых версиях без проблем цеплял сторонние либы, а тут на те - нету и всё:(

На винде под minGW/g++ неудасться собрать Phonon backend. Вот что гласит Phonon Overview:


Цитировать
Warning: The MinGW version of Qt does not support building the Qt backend.


Так что если нужен фонон по винду - юзай MS Visual C++
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3258


Просмотр профиля
« Ответ #4 : Апрель 01, 2009, 23:38 »

я не понял, то есть бэкенд фонона не входит в ставящиеся бинарники? а если попробовать прикрутить vlc как бэкенд - вроде где-то видел, что можно?
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #5 : Апрель 02, 2009, 10:22 »

Сам фонон должен собраться по minGW, но phonon-backend нет. (при конфигурирование можешь наблюдать эти опции отдельно -phonon, -phonon-backend)

См. Phonon Overview - Backends


Кстате, какая версия Qt? Как собирается Qt - статически или динамически?
« Последнее редактирование: Апрель 02, 2009, 10:23 от pastor » Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
crackedmind
Гость
« Ответ #6 : Апрель 02, 2009, 10:58 »

По поводу бэкенда фононовского. Вот тут же было. http://www.prog.org.ru/topic_8786_30.html

У меня тоже странные утечки памяти в фононе были Грустный
Вчера скачал с фтп kde - phonon 4.3.1 его чтоли попробовать
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3258


Просмотр профиля
« Ответ #7 : Апрель 02, 2009, 12:19 »

я не понял) в той теме про сборкй самой qt из сорцов - так ведь? а я ставил ее из бинарников:dunno: или я туплю?Улыбающийся
Записан
crackedmind
Гость
« Ответ #8 : Апрель 02, 2009, 13:45 »

Там рассказано как собрать phonon backend из сорцов под mingw. А как ты по другому хотел? Улыбающийся Непонимающий
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3258


Просмотр профиля
« Ответ #9 : Апрель 18, 2009, 23:44 »

так, за ссылки спасибо, как время нашлось - разобрался, фонон собрал... вопрос в том - как его переносить на другие машины? ладно qtcore, qtgui, phonon4.dll кинул, а с бэкендом что делать? приложение запускается, но играть не играет, эрроры тоже не выкидывает (хотя по идее должно). При запуске с консоли молчание полное, хотя в программе есть дебаг сообщения. Такое впечатление, что либо не срабатывает сигнал stateChanged(Phonon::State, Phonon::State), то ли он переходит в состояние, к-ое я не отлавливаю... и как отловить это на чистой машине, не представляю... тестил на виртуальной ХР и виртуальной вин7, везде одна и та же картина, приложение запусакается, но трек не играется, ошибок никаких
Записан
ритт
Гость
« Ответ #10 : Апрель 26, 2009, 02:07 »

сколько я не пытался, бэкенд дс9 с мингв не собирается. подвендой вариантов мало: мингв и влц-мплеер бэкенд; студия и дс9 бэкенд; мингв или студия без бэкендов Улыбающийся

зы. из кед фонон бессмысленно тырить, т.к. там разница лишь в версии файлов и паре бэкендов, тебе ненужных...
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3258


Просмотр профиля
« Ответ #11 : Апрель 26, 2009, 15:53 »

ну факт в том, что ds9 бэкенд под мингв собирается:) и плеер работает. Но не хочет переезжать на другие оси:( пишет в консоль что-то типа WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded
плагин лежит в папке с прогой, должен же видеть? мб в фононе можно указать путь, где искать плагины? если да, то как?
Записан
ритт
Гость
« Ответ #12 : Апрель 26, 2009, 19:03 »

бэкенд должен лежать не в папке_с_прогой, а в папке_с_прогой/phonon_backend/
под мингвом ещё потребуется QtDbus4. ну, и про real-time зависимости не забываем )

если не ошибаюсь, у нас в вики рассматривался вопрос разворачивания приложний...

зы. можно ссылочку на шаги по сборке дс9 под мингвом?
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3258


Просмотр профиля
« Ответ #13 : Апрель 27, 2009, 20:49 »

ну ./phonon_backend/ я тоже пробовал - не пашет... DBus попробую, спс, а какие еще могут быть зависимости? он просто ж не ругается, стартует себе тихо, ток не работает:)
а ссылка где-то в теме была, вот: http://wiki.qtcentre.org/index.php?title=Building_the_Phonon_backend_plugin_on_Windows_using_MinGW, там просто всё
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #14 : Апрель 27, 2009, 21:35 »

Проверь зависимости Dependency Walker

Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


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