Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: Авварон от Апрель 01, 2009, 15:12



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


Название: Re: Память и Phonon
Отправлено: pastor от Апрель 01, 2009, 16:25
А под виндой чем собираешь?


Название: Re: Память и Phonon
Отправлено: Авварон от Апрель 01, 2009, 22:51
minGW/g++
ума не приложу, библиотека же есть:) в старых версиях без проблем цеплял сторонние либы, а тут на те - нету и всё:(
и вопрос про память остается открытым - это нормально для такого рода приложений? собственно в статике там только гуи (чистый гуй 17мб оперативы - тоже не слабо) да 2 Phonon::MediaObject ==40мб


Название: Re: Память и Phonon
Отправлено: pastor от Апрель 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++


Название: Re: Память и Phonon
Отправлено: Авварон от Апрель 01, 2009, 23:38
я не понял, то есть бэкенд фонона не входит в ставящиеся бинарники? а если попробовать прикрутить vlc как бэкенд - вроде где-то видел, что можно?


Название: Re: Память и Phonon
Отправлено: pastor от Апрель 02, 2009, 10:22
Сам фонон должен собраться по minGW, но phonon-backend нет. (при конфигурирование можешь наблюдать эти опции отдельно -phonon, -phonon-backend)

См. Phonon Overview - Backends (http://doc.trolltech.com/4.5/phonon-overview.html#backends)


Кстате, какая версия Qt? Как собирается Qt - статически или динамически?


Название: Re: Память и Phonon
Отправлено: crackedmind от Апрель 02, 2009, 10:58
По поводу бэкенда фононовского. Вот тут же было. http://www.prog.org.ru/topic_8786_30.html

У меня тоже странные утечки памяти в фононе были :(
Вчера скачал с фтп kde - phonon 4.3.1 его чтоли попробовать


Название: Re: Память и Phonon
Отправлено: Авварон от Апрель 02, 2009, 12:19
я не понял) в той теме про сборкй самой qt из сорцов - так ведь? а я ставил ее из бинарников:dunno: или я туплю?:)


Название: Re: Память и Phonon
Отправлено: crackedmind от Апрель 02, 2009, 13:45
Там рассказано как собрать phonon backend из сорцов под mingw. А как ты по другому хотел? :) ???


Название: Re: Память и Phonon
Отправлено: Авварон от Апрель 18, 2009, 23:44
так, за ссылки спасибо, как время нашлось - разобрался, фонон собрал... вопрос в том - как его переносить на другие машины? ладно qtcore, qtgui, phonon4.dll кинул, а с бэкендом что делать? приложение запускается, но играть не играет, эрроры тоже не выкидывает (хотя по идее должно). При запуске с консоли молчание полное, хотя в программе есть дебаг сообщения. Такое впечатление, что либо не срабатывает сигнал stateChanged(Phonon::State, Phonon::State), то ли он переходит в состояние, к-ое я не отлавливаю... и как отловить это на чистой машине, не представляю... тестил на виртуальной ХР и виртуальной вин7, везде одна и та же картина, приложение запусакается, но трек не играется, ошибок никаких


Название: Re: Память и Phonon
Отправлено: ритт от Апрель 26, 2009, 02:07
сколько я не пытался, бэкенд дс9 с мингв не собирается. подвендой вариантов мало: мингв и влц-мплеер бэкенд; студия и дс9 бэкенд; мингв или студия без бэкендов :)

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


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


Название: Re: Память и Phonon
Отправлено: ритт от Апрель 26, 2009, 19:03
бэкенд должен лежать не в папке_с_прогой, а в папке_с_прогой/phonon_backend/
под мингвом ещё потребуется QtDbus4. ну, и про real-time зависимости не забываем )

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

зы. можно ссылочку на шаги по сборке дс9 под мингвом?


Название: Re: Память и Phonon
Отправлено: Авварон от Апрель 27, 2009, 20:49
ну ./phonon_backend/ я тоже пробовал - не пашет... DBus попробую, спс, а какие еще могут быть зависимости? он просто ж не ругается, стартует себе тихо, ток не работает:)
а ссылка где-то в теме была, вот: http://wiki.qtcentre.org/index.php?title=Building_the_Phonon_backend_plugin_on_Windows_using_MinGW (http://wiki.qtcentre.org/index.php?title=Building_the_Phonon_backend_plugin_on_Windows_using_MinGW), там просто всё


Название: Re: Память и Phonon
Отправлено: pastor от Апрель 27, 2009, 21:35
Проверь зависимости Dependency Walker (http://www.dependencywalker.com/)



Название: Re: Память и Phonon
Отправлено: Авварон от Апрель 27, 2009, 21:46
блин, я блондинко:( собрать ds9 бэкенд и не смочь перетащить прогу... дело действительно оказалось в том, что плагин надо класть в ./phonon_backend/ кактак - не пойму, проверял же, разве что очепятался в пути?:) dependency walker правда выдал отсутствие еще какой-то библы, но без нее играется отлично:) спасибо всем огромное))