22.01.2011 19:08
Многие знают программку Flashlight-Extra, которая при открытии затвора камеры показывает диалог, позволяющий либо включить фонарик, либо запустить приложение Камера.
На днях я написал аналог Flashlight-Extra на GTK. Пакет лежит в extras-devel и называется flashlight-extra-gtk.
Смысл этого: версия на GTK занимает примерно на 10 мегабайт меньше места в RAM благодаря отсутствию Qt.
Мотивация и оправдания:
[spoiler]Постепенно прихожу к выводу, что Qt не место на таблетках. И не потому, что Qt чем-то плоха, а потому, что для Maemo она чужда.
Программы на Qt можно определить на первый же взгляд. Они:
[list=*]
[*]Имеют косяки с Look & Feel, т.к. QGtkStyle не всегда точно мимикрирует[/*]
[*]Долго запускаются (в частности из-за того же QGtkStyle)[/*]
[*]Жрут много памяти[/*]
[/list]
А если программа ещё и на PyQt/PySide, то последние два пункта ещё усугубляются. Пример: gPodder.
Большое время запуска и потребление памяти возникает из-за того, что программа на Qt вынуждена сначала грузить в память все многометровые библиотеки Qt. Родные программы на Gtk освобождаются от этого, т.к. всё что им нужно — уже в памяти.
А именно потребление памяти как правило приводит таблетку к активному использованию свопа и как следствие — к тормозам всей системы.
Если бы система была целиком основана на Qt, как MeeGo, то этих проблем бы, конечно, не было. Но для Maemo родным тулкитом является GTK.
Задолбавшись в очередной раз от того, что система начинает активно своппиться уже при двух-трёх открытых программах, я решил начать экономить память. Самое действенное на этом пути — это отказ от Qt, потому что это позволит выгрузить все qt-libs. Вот я и переписал на GTK ту кутэшную программу, без которой обходиться не могу :)
Хотя и понимаю, что дублировать уже имеющийся софт — это не совсем правильно
[/spoiler]
На днях я написал аналог Flashlight-Extra на GTK. Пакет лежит в extras-devel и называется flashlight-extra-gtk.
Смысл этого: версия на GTK занимает примерно на 10 мегабайт меньше места в RAM благодаря отсутствию Qt.
Мотивация и оправдания:
[spoiler]Постепенно прихожу к выводу, что Qt не место на таблетках. И не потому, что Qt чем-то плоха, а потому, что для Maemo она чужда.
Программы на Qt можно определить на первый же взгляд. Они:
[list=*]
[*]Имеют косяки с Look & Feel, т.к. QGtkStyle не всегда точно мимикрирует[/*]
[*]Долго запускаются (в частности из-за того же QGtkStyle)[/*]
[*]Жрут много памяти[/*]
[/list]
А если программа ещё и на PyQt/PySide, то последние два пункта ещё усугубляются. Пример: gPodder.
Большое время запуска и потребление памяти возникает из-за того, что программа на Qt вынуждена сначала грузить в память все многометровые библиотеки Qt. Родные программы на Gtk освобождаются от этого, т.к. всё что им нужно — уже в памяти.
А именно потребление памяти как правило приводит таблетку к активному использованию свопа и как следствие — к тормозам всей системы.
Если бы система была целиком основана на Qt, как MeeGo, то этих проблем бы, конечно, не было. Но для Maemo родным тулкитом является GTK.
Задолбавшись в очередной раз от того, что система начинает активно своппиться уже при двух-трёх открытых программах, я решил начать экономить память. Самое действенное на этом пути — это отказ от Qt, потому что это позволит выгрузить все qt-libs. Вот я и переписал на GTK ту кутэшную программу, без которой обходиться не могу :)
Хотя и понимаю, что дублировать уже имеющийся софт — это не совсем правильно
[/spoiler]