ket*_*ura 7 windows-7 performance ssd hard-drive windows-10
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();
Run Code Online (Sandbox Code Playgroud)
经过测量,这个延迟相当于 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 分钟磁盘关闭功能。我)我有理由确定这不是造成这种情况的原因,因为重复测试仍然每个都有 5 秒的延迟)。
有没有人对我可以尝试的其他任何事情有任何见解?我基本上只能在某些驱动器断开连接的情况下启动,以查看是否有任何单个驱动器以某种方式导致问题(尽管我尝试在磁盘管理中将磁盘 0 和 1 以外的所有磁盘设置为脱机,但无济于事)。非常感激任何的帮助。
编辑:一些进一步的发现:断开所有硬盘驱动器(包括我的蓝光驱动器,只剩下一个 SSD)后,问题仍然存在。完全断开互联网连接并禁用网络发现后,问题仍然存在。
此外,5.5 秒标记似乎是一个坚如磐石的数字。我的工具的“Disk Walk”时间(即读取每个磁盘的第一级目录所需的时间)变化很大,而磁盘读取时间始终在 5.550-5.580 范围内。这似乎表明某处正在发生某种 5.5 秒超时。
编辑 2:我只连接了 2 个 1TB 驱动器就启动到了 Windows 7。加载时间仍然受制于 5.5 秒的等待,即使不涉及 SSD,这也扼杀了我关于根本原因的主要理论。这向我表明主板的输入驱动程序可能存在问题,也许?
我的硬件,以防万一它最终是相关的:
Gor ram商人的儿子。
那是不存在的软盘驱动器。没有人会期待他们没有的动力!
我的主板上有一个软盘控制器,这显然是一项技术,它起源于检查是否有任何连接被认为是浪费时钟周期的时代。每次我跑步时System.IO.Directory.GetLogicalDrives(),它都在等待幽灵般的驱动器超时。
我打开我的 BIOS 并找到了一个完全禁用软盘的设置,这导致问题完全消失。Gimp 现在也可以完美加载。
我真是个出色的侦探。
| 归档时间: |
|
| 查看次数: |
4499 次 |
| 最近记录: |