Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.09.11;
Скачать: CL | DM;

Вниз

Как ускорить работу программы   Найти похожие ветки 

 
Киря   (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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.026 c
3-1122560693
PAI
2005-07-28 18:24
2005.09.11
Как русифицировать Database?


3-1122510926
Polyak
2005-07-28 04:35
2005.09.11
Запросы - запросы ???


1-1124700328
S_Flash
2005-08-22 12:45
2005.09.11
Контроль вводимых данных в TEdit ?


1-1124262735
Петр
2005-08-17 11:12
2005.09.11
вопросы вместо текста


1-1124622947
Валя
2005-08-21 15:15
2005.09.11
Работа с классами.