TL;DR 我的硬碟組合導致加載對話框需要大約 6 秒鐘才能加載,這也透過程式碼確認,但我找不到任何緩解措施。
我用 Windows 7 很久了,完全忽略了 8。只要我處於 7 級,我就必須忍受很長的啟動時間,但除此之外對所有方面的性能都感到滿意。
就在 Windows 10 發布之前,我硬著頭皮安裝了它,這樣我至少可以嘗試跟上時代的步伐。同時,我買了一塊新的 SSD 來安裝它,以緩解我的啟動問題。一切安裝都比我希望的順利得多,我很快就恢復了正常速度。除了我身邊的一根刺之外,成長的煩惱幾乎不存在:有時,當我拉出加載對話框時,需要大約 5-10 秒才能出現。
(在你跳起來說“電源配置文件”之前,不是它,它被設置為永遠不會降低硬碟的轉速。)我只說“偶爾”,因為我花了一段時間才弄清楚哪些程式正在執行此操作- 在首先我認為這就是一切,但 Chrome 和其他人似乎已經修補了它的行為。每次仍然產生行為的大的是Gimp 2.8;無論我做什麼,如果我保存新檔案或去加載,我都必須等待 5-10 秒才能彈出對話框。
起初我以為這是 Windows 10 本身的錯誤,但隨著 Chrome 等人的進步,我認為這一定是 Gimp 的問題,這並不是我在該程式中遇到的第一個奇怪的情況。但後來我更接近硬件,我發現這不是 Gimp 的錯。
我從事 Unity 遊戲編程,目前正在使用 C#(和過時的 Mono 庫)開發通用保存/加載對話框。當我第一次讓文件瀏覽器工作時,它慢得像糖蜜一樣——我把這歸咎於我的方法不好,但當我開始優化它時,我發現絕大多數等待時間是由一行程式碼:
string[] drives = System.IO.Directory.getLogicalDrives();
經過測量,這個延遲相當於 Gimp 的減速:5.5 秒,都是 Windows 說「你有一個 C:、D:、E: 和 F: 驅動器」。我對我的載入對話框進行了修改因此它會顯示此驅動器資訊延遲,並確認每次運行程式時,我都會有約 5-6 秒的延遲。只是為了收到系統 API 呼叫的回復以獲取硬碟路徑列表。
為了了解這有多糟糕,我在我妻子的筆記型電腦、我兄弟的筆記型電腦、我父親的桌上型電腦(所有三台都運行Windows 10)和我母親的mac mini(針對MacOS 目標重新編譯後)上運行了上面連結的相同程式。其中每一個的延遲都在 10 毫秒之內,這正是我所期望的。 mac mini 載入這個該死的程式就花了大約 20 秒,但是一旦它運行起來,從那一行程式碼載入硬碟只花了不到十分之一秒的時間。
所以現在我很茫然。電源設定檔設定為永遠不會關閉驅動器;我的 BIOS 設定為 SSD 的 AHCI;我已將頁面文件設定為非動態;我已停用索引和 Windows 搜尋服務;一切都經過碎片整理。我甚至重新啟動到 Windows 7 以查看狀態;所有程式都沒有任何類型的載入對話框延遲,但是當我運行我的小載入工具時,它始終顯示載入磁碟機需要 5.5 秒。
我應該注意到,在這 5 秒內,CPU/記憶體或磁碟存取沒有出現巨大的峰值;這是程式運行後的螢幕截圖,任務管理器位於背景:。
下面是磁碟管理的截圖:。磁碟0 是SSD,磁碟1 是最近的1 TB 驅動器,磁碟2 是較舊的魚子醬黑色1 TB 驅動器,磁碟3 是魚子醬綠色2 TB 驅動器(不會再出現了;它具有內建的20 分鐘磁碟關閉功能。
有人對我可以嘗試的其他事情有任何見解嗎?我基本上只能在某些驅動器斷開連接的情況下啟動,以查看是否有任何單個驅動器以某種方式導致問題(儘管我嘗試在磁碟管理中將除磁碟0 和1 之外的所有驅動器設置為脫機,但無濟於事)。非常感激任何的幫助。
編輯:一些進一步的發現:斷開所有 HDD(包括我的藍光驅動器,只剩下一個 SSD)後,問題仍然存在。完全斷開網路連線並停用網路發現後,問題仍然存在。
此外,5.5秒的大關似乎是一個堅如磐石的數字。我的工具的「Disk Walk」時間(即讀取每個磁碟的第一級目錄所需的時間)變化很大,而磁碟讀取時間始終在5.550-5.580範圍內。這似乎表明某處發生了某種 5.5 秒超時。
編輯2:我啟動進入 Windows 7,僅連接了 2 個 1TB 硬碟。載入時間仍然受制於 5.5 秒的等待,即使沒有涉及 SSD,這扼殺了我關於根本原因的主要理論。這對我來說可能是主機板的輸入驅動程式有問題?
我的硬體,以防萬一它最終是相關的:
- 處理器:AMD Phenom II X4 965-黑色
- 主機板:技嘉 GA-790XTA-UD4
- 影片:AMD高清5770
- 固態硬碟:OCZ ARC 100 240GB
- 硬碟:西數黑 1TB (2013)
- 硬碟:西數綠 2TB (2011)
- 硬碟:西數黑 1TB (2010)
答案1
戈爾記憶體的兒子商人。
這是不存在的軟碟機。沒有人會想到他們沒有的動力!
我的主機板上有一個軟碟控制器,這顯然是一項技術,來自那個檢查是否有連接被認為浪費時脈週期的時代。我每次跑System.IO.Directory.GetLogicalDrives()
,都是在等待幽靈驅動超時。
我打開 BIOS 並找到了一個完全禁用軟碟的設置,這使得問題完全消失。 Gimp 現在也可以完美載入。
我真是個出色的偵探。
答案2
僅供參考——禁用軟碟機>軟碟機設備管理器為我工作。我懶得重啟並在BIOS中擺弄。