imho.ws |
|
01.04.2009, 16:54 | # 1 |
Guest
Сообщения: n/a
|
Тормоза с чтением списка файлов CD
Есть привод Optiarc DVD RW AD-7173S на компьютере с Windows XP SP2. Заметил такую проблему: при попытке чтения списка файлов на CD в окне проводника наблюдаются заметные тормоза, т.е. чтобы "прокрутить" в окне весь список файлов требуется значительное время. Ползунок прокрутки невозможно перетащить вниз до конца сразу, в то же время, когда это всё же удается через некоторое время, ползунок затем свободно перемещается мышью без торможений по всему списку. Такое торможение заметно, если количество файлов в просматриваемом каталоге несколько сотен (например, музыка, картинки). Пробовал те же диски на ноутбуке с приводом HL-DT-ST DVDRAM GMA-4082N, проблем со скоростью чтения списка файлов не замечал.
|
07.04.2009, 21:03 | # 4 | ||
Member
Регистрация: 12.06.2005
Адрес: Энск
Пол: Male
Сообщения: 299
|
Скачай этот скрипт, примени и перезагрузи систему.
_http://narod.ru/disk/7469942000/[censored]
Последний раз редактировалось Cartman; 08.04.2009 в 10:36. |
||
08.04.2009, 20:57 | # 5 | ||
Member
Регистрация: 12.06.2005
Адрес: Энск
Пол: Male
Сообщения: 299
|
Ну тогда так: resetDMA.vbs
Код:
' Visual Basic Script program to reset the DMA status of all ATA drives ' Copyright c 2006 Hans-Georg Michna ' Version 2006-03-14 ' Works in Windows XP, probably also in Windows 2000 and NT. ' Does no harm if Windows version is incompatible. If MsgBox("This program will now reset the DMA status of all ATA drives with Windows drivers." _ & vbNewline & "Windows will redetect the status after the next reboot, therefore this procedure" _ & vbNewline & "should be harmless.", _ vbOkCancel, "Program start message") _ = vbOk Then RegPath = "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}\" ValueName1 = "MasterIdDataChecksum" ValueName2 = "SlaveIdDataChecksum" ValueName3 = "ResetErrorCountersOnSuccess" MessageText = "The following ATA channels have been reset:" MessageTextLen0 = Len(MessageText) SubsequentMisses = 0 Set WshShell = WScript.CreateObject("WScript.Shell") For i = 0 to 999 RegSubPath = Right("000" & i, 4) & "\" ' Master Err.Clear On Error Resume Next WshShell.RegRead RegPath & RegSubPath & ValueName1 e1 = Err.Number Err.Clear On Error Goto 0 If e1 = 0 Then On Error Resume Next WshShell.RegDelete RegPath & RegSubPath & ValueName1 On Error Goto 0 MessageText = MessageText & vbNewLine & "Master" End If ' Slave Err.Clear On Error Resume Next WshShell.RegRead RegPath & RegSubPath & ValueName2 e2 = Err.Number On Error Goto 0 If e2 = 0 Then On Error Resume Next WshShell.RegDelete RegPath & RegSubPath & ValueName2 On Error Goto 0 If e1 = 0 Then MessageText = MessageText & " and " Else MessageText = MessageText & vbNewLine End If MessageText = MessageText & "Slave" End If If e1 = 0 Or e2 = 0 Then On Error Resume Next WshShell.RegWrite RegPath & RegSubPath & ValueName3, 1, "REG_DWORD" On Error Goto 0 ChannelName = "unnamed channel " & Left(RegSubPath, 4) On Error Resume Next ChannelName = WshShell.RegRead(RegPath & RegSubPath & "DriverDesc") On Error Goto 0 MessageText = MessageText & " of " & ChannelName & ";" SubsequentMisses = 0 Else SubsequentMisses = SubsequentMisses + 1 If SubsequentMisses >= 32 Then Exit For ' Don't search unnecessarily long. End If Next ' i If Len(MessageText) <= MessageTextLen0 Then MessageText = "No resettable ATA channels with Windows drivers found. Nothing changed." Else MessageText = MessageText & vbNewline _ & "Please reboot now to reset and redetect the DMA status." End If MsgBox MessageText, vbOkOnly, "Program finished normally" End If ' MsgBox(...) = vbOk ' End of Visual Basic Script program
|
||