Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Моя программа долго загружается [D7, WinXP]


Страницы:   1 2

Turboon ©   (2008-07-29 16:48:00) 

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


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


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


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


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


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


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


Leonid Troyanovsky   (2008-07-31 09:52:00) [3]


> User   (31.07.08 09:35) [33]

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

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

--
Regards, LVT.


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

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

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


@!!ex   (2008-07-31 08:36:00) [5]

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

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


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


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


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


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


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

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


Slym   (2008-07-30 12:28:00) [8]

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


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

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


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


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


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


KilkennyCat   (2008-07-30 08:47:00) [11]

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


++vist++   (2008-07-30 07:35:00) [12]


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


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


KilkennyCat   (2008-07-30 04:36:00) [13]

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


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

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

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


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


> Turboon


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


Loginov Dmitry   (2008-07-29 19:11:00) [16]

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


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


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

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


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


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


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


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

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


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


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


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


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо