![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Моя программа долго загружается [D7, WinXP]
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]
> Это не может вызывать тормоза
Но вызывает!! :))