|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
07.08.2010, 22:01 | #1 |
Форумчанин
Регистрация: 28.03.2009
Сообщений: 393
|
Оптимизация программы!!!
Всем доброго времени суток! Обращаюсь ко всем со следующей проблемой и надеюсь кто-нить подскажет что делать! Суть следующая - мне нужно по максимуму оптимизировать программу! В оперативе она весит целых 45 метров! Очень часто бывает такое что если прога повисит 1-2 часа в оперативе и в ней ничего не делать то она начинаете медленно работать, подвисает, а бывает может и зависнуть!!! Не подскажите что мне предпринять!! Ну хоть какие то соображения на этот счёт выскажите а то я не знаю как и подступиться к данной проблеме!
Заранее очень благодарен!!!! ""Сериалы и компьютерные игры это словно вторая жизнь, которою ты проживаешь, во главе главного героя или персонажа, параллельно своей!""
|
07.08.2010, 22:06 | #2 |
Форумчанин
Регистрация: 21.01.2009
Сообщений: 719
|
Хоть бы программу-то описали... Вообще, если говорить абстрактно, то наверняка же все данные вашей программы не нужны целиком во время её выполнения, подгружайте по мере необходимости и ВЫГРУЖАЙТЕ ненужные на данный момент данные.
Изобретатель велосипедов
|
07.08.2010, 23:19 | #3 |
Форумчанин
Регистрация: 28.03.2009
Сообщений: 393
|
Сори! Постараюсь описать! И так: Авторизация в програме происходит через сервер моего сайта! Сама программа включает в себя где то около 15 форм! Обясню почему: программа берет из сервера данные 4 категорий в ексельовских файлов, и инфу из них перебирает и помещает в базу данных созданую в аксесе! Все эти 4 категории данных отображаться в отдельных окнах! во всех окнах есть своё меню и панель инструментов! так же в каждой категории тобиш в каждом окне есть возможность от фильтровать данные, радактировать, добавлять, удалять, обновлять, печатать. Все эти действия естественно так же в отдельных окнах!
Вот так в кратце! Я понимаю и сам думал отом что вы написали! А можно поподробнее пожалуйста как это сделать? Может примерчик какой то? ""Сериалы и компьютерные игры это словно вторая жизнь, которою ты проживаешь, во главе главного героя или персонажа, параллельно своей!""
|
07.08.2010, 23:26 | #4 |
Форумчанин
Регистрация: 21.01.2009
Сообщений: 719
|
Даже не знаю какой тут пример привести. Например, после загрузки ваших экселевских файлов и помещения в эксесс, память, выделенная под них, освобождается, или они по-прежнему существуют? А вообще, сколько весят ваши файлы? Может, такой размер нормален...
Изобретатель велосипедов
|
07.08.2010, 23:47 | #5 |
Форумчанин
Регистрация: 28.03.2009
Сообщений: 393
|
Относительно ексельовских файлов:
Код:
А о пример я думал может как заставить программу не грузить в оперативу все 15 форм с её елементами одновременно а тока когда она будет в программе вызываться? Прога установленная весит 14.4 МБ. Exe-файл 3.83, База - 9.7, + ещё чучуть там служебные фалы! ""Сериалы и компьютерные игры это словно вторая жизнь, которою ты проживаешь, во главе главного героя или персонажа, параллельно своей!""
|
07.08.2010, 23:54 | #6 |
Форумчанин
Регистрация: 21.01.2009
Сообщений: 719
|
Ну, сколько она на диске весит никакого значения не имеет. Вот вы привели код, но там вы удаляете файл, а не объект, его загрузивший, ведь так? А на формах много графики или только редакторские объекты?
Изобретатель велосипедов
|
08.08.2010, 00:04 | #7 |
Форумчанин
Регистрация: 28.03.2009
Сообщений: 393
|
Удаления обекта? Я думал строчка
Код:
графики? да нет! есть список картинок! гдето около 10! для значков на кнопках использую! ещё компонент xpmainfest, из нестандартных компонентов использую fast report, DEVExpres(cxGrid). Картинка ввиде логотипа на главной форме! ну на формах и стандартных компонентов то не мало! ""Сериалы и компьютерные игры это словно вторая жизнь, которою ты проживаешь, во главе главного героя или персонажа, параллельно своей!""
|
08.08.2010, 00:07 | #8 |
Реанимируюсь...
Участник клуба
Регистрация: 19.07.2007
Сообщений: 1,445
|
$T@LKER, вы бы приводили участки кода, которые надо оптимизировать. Без них размещение темы в разделе "Общие вопросы Delphi " бессмысленно
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте.
Правила форума => Правила раздела => Для общего развития => Помощь студентам => Перед тем, как создавать тему, скачайте себе... P.S.: форум не песочница (с)
название статьи на сайте MS: "Отмена принудительного отключения автоматического запуска в реестре Windows" |
08.08.2010, 00:09 | #9 |
Форумчанин
Регистрация: 21.01.2009
Сообщений: 719
|
Есть идея: попробуйте всякие важные объекты по очереди удалить/закомментировать, тогда сможете увидеть, что именно ест память. На этапе загрузки форм можете диспетчером задач посмотреть сколько занимают объекты в design-time. Просто так мы просто тычем пальцем в небо, нужно что-то поконкретнее...
Изобретатель велосипедов
|
08.08.2010, 09:30 | #10 |
Участник клуба
Регистрация: 12.08.2008
Сообщений: 1,977
|
Да, без экстрасенсорики здесь трудно разобраться. Судя по кусочку кода в посте 5 у Вас проблемы с загрузкой и освобождением используемой памяти. Вы создали объект Ap, отработали с ним - а где освобождение памяти? Ap.Free к примеру. Если Вы еще раз вызываете приведенный код - происходит катастрофическое переполнение памяти, отсюда и тормоза и зависание. А размер самой программы и ресурсов к ней не играет большого значения. У меня программа ~ 35 МГб ( управляет графическими файлами около 30 МГб два десятка штук) и успешно работает даже на слабых машинах . Просто все организовано по принципу - вызвал ресурс, обработал, вывел на форму и освободил память для следующей обработки. Если что-то надо сохранить, то сбросил в файл на диск и т.п.
В любом случае нужна конкретика. Опишите хотя бы структуру программы, упрощенную блок-схему.
И не сомневайся даже ... отдых - кайф, работа - лажа!
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Оптимизация | Flangini | Microsoft Office Excel | 5 | 11.06.2009 11:48 |
Оптимизация кода программы | insi | Фриланс | 2 | 17.05.2008 18:30 |
Оптимизация | Terran | Общие вопросы Delphi | 3 | 03.05.2008 19:03 |