Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: Общие вопросы > Уменьшить размер программы. (Настройка пакетов) |
Автор: Vadим 22.3.2013, 17:48 |
Привет всем! ![]() Как можно решить вопрос? Уменьшить размер программы, убрать лишнее. Слышал, что можно хорошо выиграть в размере, если настроить пакеты. Project\Options, заходим на вкладку Packages. Ставим флажок Build with runtime packages. Вот что у меня там. Я так подозреваю, что тут есть лишнее, но как узнать, что можно убрать? vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl; dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx; webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx; vclactnband;vclshlctrls;IntrawebDB_50_70;Intraweb_50_70;Rave50CLX;Rave50VCL;dclOfficeXP |
Автор: DYUMON 22.3.2013, 20:51 |
если используешь пару функций то перетащи их в отдельный модуль и отключи те модули откуда они ![]() |
Автор: Akella 23.3.2013, 15:16 |
Пакеты можно отдать пользователю 1 раз, а потом только программу пересылать |
Автор: Vadим 23.3.2013, 18:13 | ||
Я пытался много раз, но все заканчивалось крахом криворукий короче! ![]() |
Автор: DYUMON 27.3.2013, 06:20 |
а чего парится по поводу размеров программы? я тут скачивал SQLite Expert она delphi сделан. У него exe сам 69,7 МБ весит. Поскольку автор в него и скины напихал и отчеты и всего всего. И ниче качают же и пользуются. Мне когда размер нужен я в 7 версии пишу. А когда уж совсем размер критичен то можно на KOL написать. |
Автор: Poseidon 27.3.2013, 10:38 |
В наше время, когда космические корабли скорости передачи данных позволяют переслать 100 МБ менее чем за минуту, вы замарачиваетесь на размере программы? Сколько она сейчас у вас? 10 МБ? 20? Сколько вы хотите? По-моему будет больше геморроя, чем выгоды. Но если уж совсем нужно-нужно, то можно:
|
Автор: AndreyIQ 27.3.2013, 11:51 |
А как насчет ASPack'а с ним даже думать не надо, но и файл уменьшится не на много |
Автор: Akella 27.3.2013, 12:13 |
раза в 2 уменьшиться |
Автор: Poseidon 27.3.2013, 13:54 |
Стоит помнить, что при запуске упакованного экзешника (любым упаковщиком, не только ASPack'ом) он весь распаковывается в память и висит там весь до закрытия программы, в то время как неупакованные экзешники зачастую подгружают в память необходимое, а то, что на данные момент не надо, сбрасывают в своп. Думаю что нынче на всех компьютерах размер HDD гораздо больше размера оперативки, поэтому экономить первое в ущерб второго по крайней мере не логично. |
Автор: Akella 27.3.2013, 13:58 |
Но в то же время, начальники не спешат обновлять своим подчинённым железо. Зачем покупать новый, более мощный комп из-за 1-2 программ? |
Автор: Poseidon 27.3.2013, 14:09 |
На старых компах так же размер HDD больше оперативной памяти. Где смысл в экономии допустим 50 МБ на винчестере в 40 ГБ, но при этом затратив 100 МБ в оперативке, размером 256 МБ? Даже на компьютерах 10 летней давности соотношение винчестер/оперативка было гораздо больше 50. |
Автор: Akella 27.3.2013, 17:24 |
ууууу.... батенька ![]() |
Автор: DYUMON 27.3.2013, 20:07 |
по поводу интернета. он не у всех летает. есть еще в этом мире места где даже 128 кб/с стоит бещеных денег. |
Автор: bems 27.3.2013, 21:01 |
Сжатые экзешники не нужны, потому что винчестеры сейчас большие Все остальные "узкие места" которые упоминают в этом контексте имеют более цивилизованные решения |
Автор: Vadим 29.3.2013, 16:06 |
Печально, что дела с Delphi (размерами его exe-ника) обстоят так. Решил перевести весь проект на C#, вчера закончил. Спасибо всем за помощь! |
Автор: kami 29.3.2013, 21:25 |
ну да, размером .NET фреймворка (и его требованиями к ОС) можно пренебречь. ![]() |
Автор: superVad 30.3.2013, 02:11 | ||
Чего уж там - переводи сразу еще и на яву и на кьюте - и посравнивай... |
Автор: northener 30.3.2013, 02:26 |
Ну и на VB программа тоже будет тоньше ![]() |
Автор: Vadим 30.3.2013, 15:01 |
Подошел я к преподу рассказал ситуацию, он на меня посмотрел испуганными глазами и все. Потом стал орать: - Я знаю что ты делаешь! - Это кончится тюрьмой. - Я сам тебя сдам. Думал, дай подойду, спрошу. У него стаж работы 26 лет, где я еще такого найду. В общем отзывчивый препод как он говорил главное водку не пить ![]() Дал совет писать на ассемблере. Я ассемблер знаю на уровне простых приложений. При написании больших программ на ассемблере теряюсь в коде мозги блин корявые у меня. ![]() Так что пришлось выбирать более легкие пути, хотя я к такому не привык. Проект написал на С#, отладил, работает на ура. Но все, же не спокойна моя душа. ![]() Добавлено через 8 минут и 46 секунд Все что я пишу, пишу для себя и ради собственного любопытства! |
Автор: kami 30.3.2013, 17:00 |
Стандартная фраза, занесенная во все FAQ, как ответ на вопрос "как сделать программу меньше". В общем - не очень тонкая ирония. |
Автор: Vadим 30.3.2013, 18:57 | ||
Все так говорят, пиши на ассемблере и все. С такой интонацией, будто я один на свете ассемблер знаю плохо. ![]() |
Автор: bems 30.3.2013, 19:22 |
Тебе намекают что уменьшение размера экзешника это не самоцель, и уменьшать его нужно только если есть весомые причины так трахаться |
Автор: Akella 30.3.2013, 20:01 | ||
![]() Добавлено через 37 секунд http://www.vr-online.ru/blog/sverh-sverhmalye-prilozhenija-na-delphi-crinkler-5058 http://kolmck.net/rindex.htm Библиотека KOL позволяет разрабатывать чрезвычайно компактные GUI-приложения для Windows (начиная с приблизительно 14К без сжатия - при условии использования предлагаемой замены системных модулей system, sysinit и др.) |
Автор: Vadим 3.4.2013, 08:41 | ||||
Спасибо за совет, буду пробовать. ![]() |
Автор: Akella 4.4.2013, 20:19 |
тут вот утилита, которая может показать размер модулей http://delphitools.info/other-tools/mapfilestats/ |
Автор: vinc2000 4.4.2013, 22:48 |
Используй UPX - сам пользуюсь! Exe в 4Mb сжимает до 2Mb - т.е. в 2 раза! (Просто перетащи exe на ярлык upx) |
Автор: northener 5.4.2013, 01:19 |
Не надо такое советовать. Пользы ~0, а проблем лишних добавится. |
Автор: Poseidon 5.4.2013, 08:30 | ||
|
Автор: Akella 5.4.2013, 10:28 |
При передаче файла через интернет польза есть. |
Автор: Poseidon 5.4.2013, 11:22 |
Для передаче через интернет есть архиваторы, если уж так критично |
Автор: Vadим 5.4.2013, 21:30 | ||||
Спасибо! ![]() Добавлено через 10 минут и 21 секунду
Согласен с вами, давненько я читал о плюсах и минусах упаковщика. Добавлено через 14 минут и 36 секунд Спасибо всем! ![]() |
Автор: kolesnle 6.4.2013, 08:41 |
![]() |
Автор: superVad 6.4.2013, 16:52 |
Никто не понял. |
Автор: Poseidon 7.4.2013, 20:20 |
Лично я бы рассуждал так: Уменьшение размера файла критично только для передачи по сети, быстрой передачи. Быстрая передача по сети критична только для вирусов. Написание вирусов - уголовное преступление. Ну как-то так ![]() |
Автор: Akella 7.4.2013, 22:28 |
Если exe файл хорошо упаковывается, например, обычным архиватором или программой для создания установочных дистрибутивов, то особой проблемы я не вижу. |
Автор: northener 8.4.2013, 01:18 | ||
А если ехе файл плохо упаковывается обычным архиватором, то я не вижу чем тут сможет помочь упакощик исполняемых файлов, кроме как навредить. ![]() Впрочем если исполняемый файл хорошо упаковывается, я тоже не вижу никакой пользы, кроме вреда. ![]() |
Автор: Akella 8.4.2013, 08:56 |
Как показывает практика, то весьма неплохо сжимается. |
Автор: Isaev 3.5.2013, 13:40 |
А просто настроить параметра компилирования не пробовали? Я тоже после D7 поставил XE2 и снёс после того как мой проект стал 20мб весить, поставил XE, а там он тоже 20мб ![]() поигрался с настройками, вырезал всю инфу для отладки, оптимизацию включил и прочее, стало 4.4мб Это конечно не 700кб которые давала D7, но всё же А вообще конечно это всё ведёт к апокалипсису... как не новая версия, так размер в 2-3 раза больше. Должны быть улучшения и оптимизация! и размер должен наоборот жаться. Это всё криворукие программисты, которым лень что-то делать и они ссылаются на то, что нынче у всех куча оперативки и памяти на HDD и крутые видеокарты... потому пишут через ж откройте современные программы на древнем компе(где в своё время все! приложения и игры летали без тормозов не зависимо от железа) и только мерцания при прорисовке интерфейса вас заставит забыть об данном софте. Большинство отличнейших программ вполне укладываются в 300-500кб, именно они у меня на флешке на каждый день всегда с собой, когда софт весит 200мб, это уже наводит на мысли о криворукости создателя и стоит ли им пользоваться... Возьмите к примеру Excel(это наверное единственный продукт от мелкомягких, который более-менее стабильно и без багов работает по сей день) Для чего он столько весит никто не думал? Там так много реализовано? Вот допустим альтернатива в 1.5мб http://www.byedesign.co.uk/ тут есть всё, что нужно, кроме VBA Остальное место VBA заняло? ![]() |
Автор: Poseidon 5.5.2013, 21:37 | ||
Isaev, 20 мб экзешник? В релиз-режиме? Да ладно. Там какой-то редактор, поддерживающий кучу форматов и с массой наворотов? Сколько не работаю с Delphi, ни разу не сталкивался с такими проектами, что бы в экзешнике было 20 мб.
|
Автор: Isaev 6.5.2013, 02:40 | ||
Откуда она в релиз-режиме? в курсе, потому и говорю, что удачный продукт, чего не скажешь о большинстве их остальных детищ.
Ну так написал же всё может, открой любой файл xls и посмотри, 1 в 1... кроме VBA. в всё интересное у вас с его помощью и творят видимо, а всё остальное можно Это же не какой-то левый табличный редактор в своём чудо-формате, который никто не понимает кроме него, а вьювер и редактор стандартных excel-файлов. Microsoft их даже партнёрами сделали своими, после выхода этого продукта и прежде, чем слепо критиковать, можно было хоть глянуть ;) |