Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2003.11.27;
Скачать: [xml.tar.bz2];

Вниз

копирование без нагрузки на систему   Найти похожие ветки 

 
LeNa19   (2003-09-15 23:33) [0]

Всем привет
поскажите наилучший вариант решения задачи.
я копирую фаил (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.
но во время выполнения етого када
все дисковые опирацыи операционной системы
начинают жутко тормозить (не получается даже
посмотреть содержание какой либо папки)
может есть более разумный способ копирования
чтоб не грузить систему ?


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

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


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

1) CopyFile;
2) SHFileOperation


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

TFileStream


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

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


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

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


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

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


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

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


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

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


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

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


 
Verg   (2003-09-17 13:17) [10]

4. CopyFileEx


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

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



Страницы: 1 вся ветка

Форум: "Система";
Текущий архив: 2003.11.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.009 c
3-89713
Disruptor
2003-11-10 08:32
2003.11.27
Выполнить скрипт (например 500 инсертов) одним разом.


1-89962
romeo
2003-11-13 22:42
2003.11.27
Не хватает памяти для печати (или у меня мозгов? :-)


14-90054
Е-Моё имя
2003-11-05 14:57
2003.11.27
Как сделать строку длиной больше мильярда?


3-89728
rosl
2003-11-11 03:39
2003.11.27
edit.text


14-90064
Гость
2003-11-05 16:17
2003.11.27
Как определить по номеру, какой это процессор





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский