Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.011 c
1-1124273278
maximm
2005-08-17 14:07
2005.09.11
кодировка dos


11-1106744649
chum
2005-01-26 16:04
2005.09.11
TabOrder


1-1124659140
domosed
2005-08-22 01:19
2005.09.11
не допустить чтобы два приложения одновременно запис. и читали фа


8-1114722560
Alpine
2005-04-29 01:09
2005.09.11
Помогите плизз с картинками !


3-1122892579
Киря
2005-08-01 14:36
2005.09.11
Можно ли сделать подтаблицы в DbGridEh и как?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский