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

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

загрузка CPU при прорисовке [D6, Win2k]


ev ©   (2002-03-23 18:48:00) 

Мастера! Помогите! Как понизить загрузку CPU.
Сначала

mStream:=TmemoryStream.Create;
jpg:=TJpegImage.Create;

А потом в цикле

jpg.LoadFromStream(mStream);
image1.Picture.Assign(jpg);

9 процессов. 2-3 раза в секунду. На АТЛОНЕ 1300 загрузка CPU = 80%.
Основно еремя (порядка 99%) уходит на image1.Picture.Assign(jpg);


ppcat   (2002-03-24 20:02:00) [1]

Уменьшить приоритет
==================================================================================

Пример:
procedure TForm1.Button1Click(Sender: TObject);
var
ProcessID : DWORD;
ProcessHandle : THandle;
ThreadHandle : THandle;
begin
ProcessID := GetCurrentProcessID;
ProcessHandle := OpenProcess(PROCESS_SET_INFORMATION,
false,
ProcessID);
SetPriorityClass(ProcessHandle, REALTIME_PRIORITY_CLASS);
ThreadHandle := GetCurrentThread;
SetThreadPriority(ThreadHandle, THREAD_PRIORITY_TIME_CRITICAL);
end;

Но все равно увидишь тоже самое. Чем хорошо - если время понадобится другому процессу, он его отдаст. А больше никак.


Наверх

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