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

Вниз

Моя программа долго загружается   Найти похожие ветки 

 
Turboon   (2008-07-29 16:48) [0]

Проблема в том, что между событиями OnCreate и OnShow проходит секунд 10.
Что происходит в этом промежутке, я не знаю.
Подскажите, как можно оптимизировать программу?


 
tesseract ©   (2008-07-29 16:51) [1]

Отладчиком и профайером посмотреть.


> Что происходит в этом промежутке, я не знаю.


Это точно твоя программа ?


 
stas ©   (2008-07-29 16:57) [2]

Программа из 1-й формы?
Что на ней лежит?


 
oldman ©   (2008-07-29 16:59) [3]


> Что происходит в этом промежутке, я не знаю.


Собственно Create и происходит...
С инициализацией переменных и объектов, их настройкой и т.д.

А что, 10 секунд для старта программы это много?


 
Плохиш ©   (2008-07-29 17:04) [4]


> Что происходит в этом промежутке, я не знаю.

Открываются все ваши TTable...


 
Григорьев Антон ©   (2008-07-29 17:09) [5]

Ненужные формы из автозагрузки удалены?


 
Turboon   (2008-07-29 17:13) [6]

1. Программа не совсем моя, я ее дорабатываю. После некоторой корректировки (добавлена пара компонентов и пара процедур) время загрузки увеличилось с 3-4 до 10 секунд.
Я ставил MessageBox"ы в конец FormCreate и в начало FormShow. Между их появлениями проходит секунд 8 минимум.
Отладчиком встроенным проверить? Или внешним? И что такое профайер я не знаю :(

2. Нет, программа из нескольких форм. В обработчике OnCreate главной формы вызывается форма авторизации, отрабатывает быстро, но главная форма появляется через 10 сек.
На главной форме лежат панели, TIB - компоненты, TreeList"ы.

3. Многовато. Я бы хотел каким-либо образом отобразить ход процесса загрузки для пользователя (прогрессбар, например, вывести), или сократить задержку.


 
oldman ©   (2008-07-29 17:14) [7]


> Плохиш ©   (29.07.08 17:04) [4]
> Открываются все ваши TTable...


Скорее:
Загружаются все ваши TImage...
:)


 
Игорь Шевченко ©   (2008-07-29 17:15) [8]


> 3. Многовато. Я бы хотел каким-либо образом отобразить ход
> процесса загрузки для пользователя (прогрессбар, например,
>  вывести), или сократить задержку.


Splash-форму повесь, как в Delphi и все будет хорошо


 
tesseract ©   (2008-07-29 17:16) [9]


> или сократить задержку.


Верни всё на место :-)
Отладчик тебе выдаст время выполения процедур, только на твой глаз. Профайлер даст рельное время.


 
oldman ©   (2008-07-29 17:18) [10]


> После некоторой корректировки (добавлена пара компонентов


каких?


 
oldman ©   (2008-07-29 17:19) [11]


> Turboon   (29.07.08 17:13) [6]
> 1. Программа не совсем моя, я ее дорабатываю.


читаем сабж:


> Моя программа долго загружается


Врать не надо по телефону! ©


 
oldman ©   (2008-07-29 17:21) [12]

ну...
и код OnCreate в студию
и код Unit1 тоже, пожалуй


 
Turboon   (2008-07-29 17:22) [13]


> > Плохиш ©   (29.07.08 17:04) [4]
> > Открываются все ваши TTable...
>
>
> Скорее:
> Загружаются все ваши TImage...
> :)


:))) Ничего подобного!

> Григорьев Антон ©   (29.07.08 17:09) [5]
> Ненужные формы из автозагрузки удалены?


Антон, большое спасибо! Удалены, и время загрузки опять 3 секунды! :))
Провел небольшой эксперимент - обнаружил, какой кусок кода (если его можно так назвать :))) ) тормозил. Вот он:
 Ini := TIniFile.Create(FileName);
 Path := Ini.ReadString("Path","zpath","C:\");
Я его закомментил, и тормоза пропали :))


 
Turboon   (2008-07-29 17:25) [14]


> Верни всё на место :-)
> Отладчик тебе выдаст время выполения процедур, только на
> твой глаз. Профайлер даст рельное время.

Ок, пойду нагуглю себе профайлер :))


 
Turboon   (2008-07-29 17:26) [15]

В общем-то проблема больше не актуальна, но если кто-нибудь подскажет мне, почему это:

>  Ini := TIniFile.Create(FileName);
>  Path := Ini.ReadString("Path","zpath","C:\");

вызывало тормоза, тому большой респект.


 
Игорь Шевченко ©   (2008-07-29 17:30) [16]


> В общем-то проблема больше не актуальна, но если кто-нибудь
> подскажет мне, почему это:
>
> >  Ini := TIniFile.Create(FileName);
> >  Path := Ini.ReadString("Path","zpath","C:\");
>
> вызывало тормоза, тому большой респект.


Это не может вызывать тормоза


 
Turboon   (2008-07-29 17:32) [17]


> Это не может вызывать тормоза


Но вызывает!! :))


 
Turboon   (2008-07-29 17:35) [18]

Каюсь! Ошибся. Задержку вызывает эта строка
 DirTree.Path := Path;
DirTree - это TShellTreeView


 
oldman ©   (2008-07-29 17:35) [19]


> Turboon   (29.07.08 17:22) [13]
> Провел небольшой эксперимент - обнаружил, какой кусок кода
> (если его можно так назвать :))) ) тормозил. Вот он:
>  Ini := TIniFile.Create(FileName);
>  Path := Ini.ReadString("Path","zpath","C:\");
> Я его закомментил, и тормоза пропали :))


Проведи "небольшой эксперимент №2":
Закоменти каждую строку в отдельности и выясни, что тормозит - Create или ReadString


 
oldman ©   (2008-07-29 17:36) [20]

Удалено модератором


 
Loginov Dmitry ©   (2008-07-29 19:11) [21]

> Провел небольшой эксперимент - обнаружил, какой кусок кода
> (если его можно так назвать :))) ) тормозил. Вот он:
> Ini := TIniFile.Create(FileName);
> Path := Ini.ReadString("Path","zpath","C:\");
> Я его закомментил, и тормоза пропали :))


Это не может вызывать тормоза. Реальные (жуткие тормоза) может вызывать WriteString() при запущенном NOD32.


 
Сергей М. ©   (2008-07-29 20:07) [22]


> Turboon


Если не желаешь пользовать отладчик, то тряси бубен.


 
++vist++ ©   (2008-07-29 23:29) [23]

> Проблема в том, что между событиями OnCreate и OnShow проходит секунд 10.

Какой у вас процессор?


 
KilkennyCat ©   (2008-07-30 04:36) [24]

Удалено модератором


 
++vist++ ©   (2008-07-30 07:35) [25]


> у людей - моск. а у компов - процессор. а еще есть препроцессор,
>  сопроцессор, прогрессор ,  просто цессор, оссиллограф и
> холодильник.


Я просто про то, что Дельфа кушает очень много памяти, да и вообще ресурсов! Так что на слабом проце программа может работать медленно!


 
KilkennyCat ©   (2008-07-30 08:47) [26]

Удалено модератором


 
Turboon   (2008-07-30 10:46) [27]


> Сергей М. ©   (29.07.08 20:07) [22]
>
> > Turboon
>
>
> Если не желаешь пользовать отладчик, то тряси бубен.


А поконкретнее, какой отладчик ты имеешь в виду?
Встроенный дельфовский, или OllyDbg, к примеру?


 
Turboon   (2008-07-30 10:46) [28]

Удалено модератором


 
Slym ©   (2008-07-30 12:28) [29]

DirTree.Path := Path;
у меня в пределах 1 сек... может несколько раз вызываешь? поставь брякпоинт


 
KilkennyCat ©   (2008-07-30 13:08) [30]


> Slym ©   (30.07.08 12:28) [29]

если поставить брякпоинт, это явно не ускорит. даж наоборот. я даж затрудняюсь определить, на скока затормозит.


 
++vist++ ©   (2008-07-31 06:07) [31]


> Проблема в том, что между событиями OnCreate и OnShow проходит
> секунд 10.


Напиши хотя бы словами список действий, который выполняется между этими событиями!


 
@!!ex ©   (2008-07-31 08:36) [32]

> [25] ++vist++ ©   (30.07.08 07:35)

да нифига подобного. Дельфевые программы даже на з266 работаю без проблем.


 
User   (2008-07-31 09:35) [33]

... а почему бы не вклинить
var
 t: array[1..n] of TDateTime;
...
begin
...
t[i]:= Now; Inc(i);
...
t[i]:= Now; Inc(i);
...
end;

после каждого действия и в Real-Time анализировать результаты задержки ...?


 
Leonid Troyanovsky ©   (2008-07-31 09:52) [34]


> User   (31.07.08 09:35) [33]

> после каждого действия и в Real-Time анализировать результаты
> задержки ...?

Я бы даже сказал: после каждого акта.

--
Regards, LVT.


 
Turboon   (2008-07-31 10:54) [35]


> DirTree.Path := Path;
> у меня в пределах 1 сек... может несколько раз вызываешь?
>  поставь брякпоинт


Я по разному пробовал. В любом лучае позиционирование DirTree на Path вызывает серьезную задержку.


 
Сергей М. ©   (2008-07-31 11:43) [36]


> Встроенный дельфовский, или OllyDbg, к примеру?


Встроенный дельфовский, разумеется.



Страницы: 1 вся ветка

Текущий архив: 2008.09.14;
Скачать: CL | DM;

Наверх




Память: 0.55 MB
Время: 0.028 c
11-1193314040
LazyBob
2007-10-25 16:07
2008.09.14
новые GRush


2-1217844272
Vlad Oshin
2008-08-04 14:04
2008.09.14
Съедаются одиночные клики мышкой.


15-1216664244
ob_kun
2008-07-21 22:17
2008.09.14
Интересно


3-1205476733
Evgeny V
2008-03-14 09:38
2008.09.14
ADO и параметры


9-1153323049
korvin88
2006-07-19 19:30
2008.09.14
блендинг текстур по маске