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