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

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

копирование без нагрузки на систему [D6, WinXP]


LeNa19 ©   (2003-09-15 23:33:00) 

Всем привет
поскажите наилучший вариант решения задачи.
я копирую фаил (700 mb)
привкденным кодом
var
buf array[0..102400]of byte;
...
...

while not eof(outfile)do
begin
blockread(outfile,buf,sizeof(buf),bytesread);
blockwrite(infile,buf,bytesread,byteswrite);
end;
closefile(infile);
closefile(outfile);

все ето работает в отдельном потоке
с приоритетом: tpidle.
но во время выполнения етого када
все дисковые опирацыи операционной системы
начинают жутко тормозить (не получается даже
посмотреть содержание какой либо папки)
может есть более разумный способ копирования
чтоб не грузить систему ?


Карелин Артем   (2003-09-18 14:51:00) [1]

Попрбовал сегодня в основном потоке - подтормаживает. Понизил приоритет - все пучком. Хотя комп по сегодняшним меркам не сильный. А если вставить Application.ProcessMessages в цикл записи/чтения, то и при нормальном приоритете идет на Ура.


Verg   (2003-09-17 13:17:00) [2]

4. CopyFileEx


Verg   (2003-09-17 13:15:00) [3]

1. Уменьшить размер буфера.
2. Вставить Sleep
3. Использовать overlapped IO.


Карелин Артем   (2003-09-17 13:03:00) [4]

DMA в настройках контроллера ЖД включено?


AGGRESSOR   (2003-09-17 11:44:00) [5]

Так ты хочешь скопировать КУСОК файла? Хм...
Попробуй проапгрейдить железо ;)


LeNa19   (2003-09-16 21:03:00) [6]

to panov
именно так я и делаю об етом сказано в вопросе !!!


panov   (2003-09-16 20:31:00) [7]

В отдельном потоке копируй с пониженным приоритетом.


LeNa19   (2003-09-16 20:29:00) [8]

TO AGGRESSOR ,Карелин Артем
ети методы копирования также тормозят
а SHFileOperation не даст скопировать кусок
файла но работает без тормозов


Карелин Артем   (2003-09-16 11:05:00) [9]

TFileStream


AGGRESSOR   (2003-09-16 10:55:00) [10]

1) CopyFile;
2) SHFileOperation


SPeller   (2003-09-16 01:29:00) [11]

Делай задержку после чтения и после записи блоков. SleepEx, например, подойдёт.


Наверх

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