Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 16.09.2008, 00:10
жекаизжека жекаизжека вне форума
Начинающий
 
Регистрация: 10.09.2008
Сообщения: 193
Репутация: 10
По умолчанию уменьшение ЦП

Как можно уменьшить загрузку ЦП exe, что меньше кушала оперативной памяти
Ответить с цитированием
  #2  
Старый 16.09.2008, 05:21
Аватар для moo2k
moo2k moo2k вне форума
Активный
 
Регистрация: 05.12.2006
Адрес: где-то там...
Сообщения: 321
Репутация: 35
По умолчанию

Пиши на Windows API. Но это долго и муторно.
__________________
Программирование - это искусство и наш смысл жизни.
Ответить с цитированием
  #3  
Старый 16.09.2008, 07:54
Аватар для Vayrus
Vayrus Vayrus вне форума
Исполняемый Ретровирус
 
Регистрация: 09.08.2008
Адрес: Umbrella Corporation
Сообщения: 743
Репутация: 1293
Восклицание

Может тебе нужно лишь поменять приоритет процесса, думаю этого тебе хватит?
Ответить с цитированием
  #4  
Старый 16.09.2008, 18:35
жекаизжека жекаизжека вне форума
Начинающий
 
Регистрация: 10.09.2008
Сообщения: 193
Репутация: 10
По умолчанию

а как это в коде можно сделать?, а то просто аж 6 метров берет..(((
Ответить с цитированием
  #5  
Старый 23.09.2008, 13:43
жекаизжека жекаизжека вне форума
Начинающий
 
Регистрация: 10.09.2008
Сообщения: 193
Репутация: 10
По умолчанию

ау, ну что никто не знает?
Ответить с цитированием
  #6  
Старый 23.09.2008, 14:40
Rat Rat вне форума
Активный
 
Регистрация: 12.09.2008
Сообщения: 391
Репутация: 6078
По умолчанию

Загрузка ЦП и размер памяти, это разные вещи.

Как изменить приоритет, подробно описано здесь

Как оптимизировать приложения на Delphi, описано здесь

Почитай еще вот это

Последний раз редактировалось Rat, 23.09.2008 в 14:49. Причина: Забыл дописать
Ответить с цитированием
  #7  
Старый 23.09.2008, 16:02
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Юзай в циклах этот код
Код:
application.processmessages
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #8  
Старый 23.09.2008, 16:50
dmdx dmdx вне форума
Начинающий
 
Регистрация: 24.05.2008
Адрес: Москва
Сообщения: 133
Репутация: 15
По умолчанию

Почитай несколько книг по оптимизации программ.

1. Один из основных медодов минимизации исходного кода это, как сказал moo2k, использовать API и в памяти меньше места и файл меньше весит.
2. Если тебе критично занимаемое место на диске можно воспользоваться прогой ASPack, но я не думаю что сейчас это актуально.
3. По загрузки с ЦП я присоединюсь к M.A.D.M.A.N., но эта проца увеличивает обработку по времени. На небольших циклах это незаметно. При обработки больших и сверх больших циклов эта проца тоже может отнимать 90% - 99% ресурсов ЦП если обработка проскакивает быстро, хотя не дает программе подвиснуть и повесить ЦП.
Ну например
Код:
while true do begin
Application.ProccessMessage;
Edit1.Text:='1';
end;
Пример чисто теоритический. И иногда делаю небольшую задержку коммандой sleep(10);
Где то здесь я видел аналог этой проце. Хотя проца почти незаменима в циклах.

Хотя мнений может быть много и все они будут правильны по своему. тут надо подходить к каждой ситуации отдельно.
__________________
Програмист приходит на стрельбище. Стреляет. Прапор смотрит на мешень и говорит
Прапор: вы не попали ни один раз.
Программист: Пули вылетели, проблемы у вас.
Ответить с цитированием
  #9  
Старый 23.09.2008, 16:53
dmdx dmdx вне форума
Начинающий
 
Регистрация: 24.05.2008
Адрес: Москва
Сообщения: 133
Репутация: 15
По умолчанию

И еще одно если твоя прога равботает с БД и данными, то данные с БД грузятся в твою прогу и она соответственно растет. т.ч. если она будет весить 20 или 22 метра после некоторых манипцляций это не существенно.
__________________
Програмист приходит на стрельбище. Стреляет. Прапор смотрит на мешень и говорит
Прапор: вы не попали ни один раз.
Программист: Пули вылетели, проблемы у вас.
Ответить с цитированием
  #10  
Старый 23.09.2008, 16:58
dmdx dmdx вне форума
Начинающий
 
Регистрация: 24.05.2008
Адрес: Москва
Сообщения: 133
Репутация: 15
По умолчанию

Любые данные которые читает прога из файли или из БД или из реестра так или иначе грузятся в память
__________________
Програмист приходит на стрельбище. Стреляет. Прапор смотрит на мешень и говорит
Прапор: вы не попали ни один раз.
Программист: Пули вылетели, проблемы у вас.
Ответить с цитированием
  #11  
Старый 23.09.2008, 19:07
жекаизжека жекаизжека вне форума
Начинающий
 
Регистрация: 10.09.2008
Сообщения: 193
Репутация: 10
По умолчанию

спасибо разобрался
Ответить с цитированием
  #12  
Старый 23.09.2008, 19:11
жекаизжека жекаизжека вне форума
Начинающий
 
Регистрация: 10.09.2008
Сообщения: 193
Репутация: 10
По умолчанию

Цитата:
Сообщение от dmdx
Любые данные которые читает прога из файли или из БД или из реестра так или иначе грузятся в память

Если ваша программа редко использует какие либо функции или процедуры, то вынесите их в DLL файл, чтоб память не засоряли (хотя сейчас это и не так важно, памяти оперативной “куча” 1 - 2 гигабайта это уже не редкость, но всё же это подчеркнёт Ваш профессионализм).

ты случайно не знаешь как это можно сделать, если делал можешь подробно описать, зарание благодарен
Ответить с цитированием
  #13  
Старый 23.09.2008, 21:25
Аватар для Vayrus
Vayrus Vayrus вне форума
Исполняемый Ретровирус
 
Регистрация: 09.08.2008
Адрес: Umbrella Corporation
Сообщения: 743
Репутация: 1293
Восклицание

Цитата:
Сообщение от жекаизжека
Если ваша программа редко использует какие либо функции или процедуры, то вынесите их в DLL файл, чтоб память не засоряли (хотя сейчас это и не так важно, памяти оперативной “куча” 1 - 2 гигабайта это уже не редкость, но всё же это подчеркнёт Ваш профессионализм).

ты случайно не знаешь как это можно сделать, если делал можешь подробно описать, зарание благодарен

Многие наоборот стремятся распространять свои программы одним файлом, а ты...
Зачем тебе этот гемор с библиотеками? Тем более если ты новичек. Может уж тогда все программы за тебя писать, не жирно будет? В инете куча готового материала, бери - нехочу (по написанию библиотек в частности) !
Ответить с цитированием
  #14  
Старый 24.09.2008, 01:07
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,907
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

жекаизжека, вот смотри:
Мой последний заказ: обработка (проверка и перекодировка формата) файла. Написано было 2 (точнее 3 варианта, но третий был минимум под четырехпроцессорную тачку ну или 2 Duo) один вариант не жрал памяти но работал порядка 50 минут, второй ел 250 метров оперативы - но работал 3,5 минуты. Как думаешь какой из них выбрал заказчик? Третий, для справки чисто, на 8 процессорном серваке жрал 75% ресурсов от 4 процов (писался чисто под 4 проца, можно было бы доработать на неопределенное кол-во процов, только чтоб больше одного, но времени не было) и работал 54 секунды, по пямяти было 370 метров, думаю понятно почему больше.
Так что погоня за освобождением ресурсов дело сильно зависящее от задачи
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием
  #15  
Старый 24.09.2008, 10:13
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
По умолчанию

Aristarh Dark +1
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 16:41.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025