Форум: "Основная";
Текущий архив: 2005.09.11;
Скачать: [xml.tar.bz2];
ВнизКак ускорить работу программы Найти похожие ветки
← →
Киря (2005-08-17 06:49) [0]Моя программа состоит из 1 формы
На не расположено около 30 panel
на каждой панели находятся свои компоненты
при запуске программа немного притормаживает и мне хотелось бы этого избежать
При выводе нужной панели на передний план особых тормозов не наблюдается.
Пожалуйста помогите как ускорить процесс загрузки программы
Зараенее благодарен
← →
Shopot © (2005-08-17 07:52) [1]Поставить проц мощнее. Но если не для себя прога, то поставь окно с заставкойпри загрузке, как в Word и др. прогах. Уж ничего тут не поделаешь, сколько ей надо времени на загрузку и инициализацию, столько она и возьмет.
← →
KilkennyCat © (2005-08-17 08:04) [2]вместо панелей используй TPageControl.
← →
Думкин © (2005-08-17 08:34) [3]
> При выводе нужной панели на передний план особых тормозов
> не наблюдается.
Проясни. Что значит - "на передний план". Может спроектировано как и выводится? Домысел.
← →
afanasic (2005-08-17 08:42) [4]А зачем такая мощная архитектура???
Она действительно обоснованна необходимостью и единственностью решения?
← →
Киря (2005-08-17 09:15) [5]Думкин © (17.08.05 08:34) [3]
> При выводе нужной панели на передний план особых тормозов
> не наблюдается.
Проясни. Что значит - "на передний план". Может спроектировано как и выводится? Домысел.
т.е. Panel1.bringToFront
← →
Думкин © (2005-08-17 09:19) [6]> Киря (17.08.05 09:15) [5]
Понял. Уснул. :(
← →
Киря (2005-08-17 09:29) [7]afanasic (17.08.05 08:42) [4]
А зачем такая мощная архитектура???
Она действительно обоснованна необходимостью и единственностью решения?
Возможно решение не единственное. Я поэтому и спрашиваю как можно ускорить работу. Все таки не хотелось бы плодить формы.
KilkennyCat © (17.08.05 08:04) [2]
вместо панелей используй TPageControl.
насколько я помню TPageControl используется для создания закладок и если можно не отображать закладки то прошу сообщить мне как
← →
TUser © (2005-08-17 09:59) [8]Пересмотреть программу. Например, сменить панели на фреймы, а они не Auto-create. Вряд ли ведь все эти 30 панелей сразу видны.
← →
afanasic (2005-08-17 10:01) [9]Если твои паннели - основные Control"ы на форме и кроме них ничего нет, то гораздо лучше все-таки наплодить форм, тогда:
1. в единицу времени у тебя в памяти висит только одна форма(остальные destroyed)
2. при модификации какой-то панели ты не задумываешься о модификации размеров остальных панелей и размещении на них компонентов.
3. программа грузится быстро - потому что грузит только одну форму, т.е. в 30 раз меньше данных
4. К минусам отнесем многообразие форм
В противном случае - если хочешь оставить как есть, то в случае необходимости - создавай паннель, в случае ненадобности Destroy... А при старте программы пусть создается только одна, поскольку 29 ненужных паннелей с кучей компонентов, висящих в памяти - слишком накладно по памяти...
← →
Киря (2005-08-17 10:55) [10]afanasic (17.08.05 10:01) [9]
Если твои паннели - основные Control"ы на форме и кроме них ничего нет, то гораздо лучше все-таки наплодить форм, тогда:
1. в единицу времени у тебя в памяти висит только одна форма(остальные destroyed)
2. при модификации какой-то панели ты не задумываешься о модификации размеров остальных панелей и размещении на них компонентов.
3. программа грузится быстро - потому что грузит только одну форму, т.е. в 30 раз меньше данных
4. К минусам отнесем многообразие форм
В противном случае - если хочешь оставить как есть, то в случае необходимости - создавай паннель, в случае ненадобности Destroy... А при старте программы пусть создается только одна, поскольку 29 ненужных паннелей с кучей компонентов, висящих в памяти - слишком накладно по памяти...
Спасибо за совет. Но появлся один вопрос:
Как мне не давать программе создавать все панели сразу а контролировать этот процесс?
← →
afanasic (2005-08-17 11:19) [11]Только Destroy в OnCreate... Скорость запуска это увеличит ненамного, зато памяти использоваться будет меньше, а вообще лучше перейди к 30 формам - убъешь час работы, зато в последующем избавишься от множества проблем и приобретешь кучу удобств...
← →
Киря (2005-08-17 11:40) [12]А на сколько быстрее будет использовать Frames вместо panels?
← →
Думкин © (2005-08-17 11:42) [13]> Киря (17.08.05 10:55) [10]
Элементарно.
Создать классы(есть желание - компоненты) и подгружать и выгружать динамически. Ваш воопрос НАПРЯМУЮ стыкуется с вопросом в -
http://delphimaster.net/view/2-1124177519/
Удачи.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.09.11;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.013 c