![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
kiler4747 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 62 Регистрация: 28.2.2011 Репутация: нет Всего: нет |
Написал программу для копирования файлов. Само копирование происходит в отдельном потоке. Мне нужно чтобы при копировании отображался сам процесс на progressBar-е и в label поэтому класс File не подходит. При тесте функции копирования использовал флэшку с NTFS, скорость была нормальная(10мб/с), но при использовании флэшки с FAT скорость копирования падает до 1мб/с и ниже. Форматировал первую флэшку в FAT - точно такой же результат. Почему так происходит и как это исправить? Если функцию написать на C++ скорость копирования будет зависеть от типа файловой системы?
|
|||
|
||||
jonie |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 6 Всего: 118 |
один фиг не надо каждый раз (каждую итерацию) делать уведомления гуя о процетах. Получите размер файла - поделите на 100 - получите чему равен 1% (если уж вы хотите по 1% показывать, хотя и это глупо) - и вызывайте тогда когда надо.
-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
kiler4747 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 62 Регистрация: 28.2.2011 Репутация: нет Всего: нет |
Я пробывал полностью выключать отображение процесса, т.е.
while ((byt = TempSours.Read(buffer, 0, 4096)) == 4096) { Temp.Write(buffer, 0, byt); } Но всеравно скорость записи очень низкая. |
|||
|
||||
kiler4747 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 62 Регистрация: 28.2.2011 Репутация: нет Всего: нет |
Решил проблему увеличение буфера с 4096 до 4096 * 100.
Можно делать и через класс File и нужно пустить второй поток для отображения информации:
![]() |
|||
|
||||
cream |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 23.7.2010 Репутация: 1 Всего: 1 |
||||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | .NET для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |