Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.01.2010, 11:55   #1
Talemir
Пользователь
 
Регистрация: 12.08.2009
Сообщений: 62
По умолчанию Загрузка процессора с выше 50%

Из Delphi я запускаю свой проект, и загрузка процессора, ту же привешает 50 %. А также призапуске простого .exe написанного мною то же самое загрузка с выше 50%.

А на чужих примерниках, загрузка проца почти не колеблется.

Подскажите, что влияет в проекте на загрузку процессора и как ее снизить???
Talemir вне форума Ответить с цитированием
Старый 14.01.2010, 12:06   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

ВАШ свой проект имеет код? выкладывайте... может у вас в бесконечный цикл уходит, может некорректно с потоком работаете, а может вы файлы в память грузите, предположений множество...
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 14.01.2010, 12:09   #3
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

Не видя кода того, что Вы запускаете, что-либо Вам посоветовать не возможно.
Arigato вне форума Ответить с цитированием
Старый 14.01.2010, 13:15   #4
Talemir
Пользователь
 
Регистрация: 12.08.2009
Сообщений: 62
По умолчанию

Необходимо прописать Alias: Phone
Вложения
Тип файла: rar Проэкт21.rar (1.07 Мб, 15 просмотров)
Talemir вне форума Ответить с цитированием
Старый 14.01.2010, 19:08   #5
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Код:
procedure TForm1.IdleProc(Sender: TObject; var Done:Boolean);
begin
 //StatusBar1.Panels[0].Text:=TimeToStr(Time);
 Done:=false;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
   //Application.OnIdle:=IdleProc;
end;
Всего-навсего !
Зачем было вставлять этот дурацкий цикл ?
Поставьте секундный таймер и меняйте...
Зачем вообще в строке статуса показывать время ? Мало часов винды ?
mihali4 вне форума Ответить с цитированием
Старый 14.01.2010, 22:18   #6
Talemir
Пользователь
 
Регистрация: 12.08.2009
Сообщений: 62
По умолчанию

Цитата:
Сообщение от mihali4 Посмотреть сообщение
Код:
procedure TForm1.IdleProc(Sender: TObject; var Done:Boolean);
begin
 //StatusBar1.Panels[0].Text:=TimeToStr(Time);
 Done:=false;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
   //Application.OnIdle:=IdleProc;
end;
Всего-навсего !
Зачем было вставлять этот дурацкий цикл ?
Поставьте секундный таймер и меняйте...
Зачем вообще в строке статуса показывать время ? Мало часов винды ?
Отключив процедуру:

procedure TForm1.FormCreate(Sender: TObject);
begin
//Application.OnIdle:=IdleProc;
end;[/CODE]


ЦП находится практически в покое, но если я использую данную процедуру для просмотра пути подключения БД, или указывая какое либо действие!
Как быть тогда в данном случае???
Talemir вне форума Ответить с цитированием
Старый 14.01.2010, 22:24   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
но если я использую данную процедуру для просмотра пути подключения БД
вам это надо делать постоянно?
Цитата:
указывая какое либо действие!
так говорите это свое действие...ведь наверняка есть методы получше.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 14.01.2010, 22:24   #8
_bAd_
Пользователь
 
Регистрация: 11.01.2010
Сообщений: 21
По умолчанию

Значит мой вопрос был хорошо поставлен! ))))))))))) а жаль

Talemir: а ты не используй эту процедуру. ни для просмотра чего-то там, ни для чего другого.
Плохая примета использовать её.
Я делаю так: создаю таймер по дефолту енейбленый. В теле его обработчика первой же строкой дисейблю таймер и пускаю цикл
Вайл НОТ(стоп) ду
бегин
- тут делаю что надо
- а потом фигачу аппликейшн процесс мессаджес
- а потом фигачу слип
енд;


Для слипа даже можно динамически рассчитывать передаваемый параметр из рассчета на какой-либо уровень загрузки ЦП или определённый ФПС. ( если стоит хотябы слип(0) - ФПС никогда не подымаетсявыше 66 почему-то )

Последний раз редактировалось _bAd_; 14.01.2010 в 22:30.
_bAd_ вне форума Ответить с цитированием
Старый 14.01.2010, 22:34   #9
Talemir
Пользователь
 
Регистрация: 12.08.2009
Сообщений: 62
По умолчанию

_bad_! Я в принципе понял, к чему вы ведете воспользуюсь вашиму совету.
Огромное всем спасибо, кто оказал помощь и содействие!!!
Talemir вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Результат до определенного значения и не выше. mato Общие вопросы C/C++ 8 04.12.2009 16:07
ServerSocket загрузка процессора daxter Работа с сетью в Delphi 1 26.08.2009 15:25
Загрузка процессора Syred Общие вопросы Delphi 1 12.06.2008 22:15
Загрузка процессора Terran Общие вопросы Delphi 1 15.12.2007 22:27