好吧,我在 OW 论坛上发帖了,虽然似乎没人关心。所以我在这里发帖,以防万一这是硬件问题,而不是守望先锋问题,因为我似乎是一个突出的案例。
所以我组装了一台游戏机来满足我所有的游戏需求,而且已经用了将近两年半了。我玩 OW 也有差不多同样的时间了,一切都很好,直到最近的 OW 补丁发布。(这就是为什么我认为这是他们的问题)现在,我玩了很多比 OW 更需要图形处理能力的游戏,我从来没有遇到过崩溃,DOOM、辐射 4 和巫师 3 只是其中几个例子。
仅当我启动 OW 时才会发生崩溃,它会挂在黑屏上,如果我在后台播放音乐,它会保留一个音符,直到计算机出现 BSOD 并重新启动。最近的 BSOD 显示了类似“时钟”的内容以及有关我的第二个核心的内容?
我尝试过的方法有:Memcheck、Un 和 Re 安装了游戏、更新了 BIOS、更新了图形甚至重新安装了 Windows。
不确定这是否相关,但我最近买了一个新的 Razer Ornata 键盘,这会影响它吗?我会进行反复试验并更新此帖子。更新:拔下键盘,没有变化。
规格见附图。
https://i.gyazo.com/23e5bf70eed481bb45678be16da44915.png
最近的小型转储:https://www.filehosting.org/file/details/758289/092618-20607-01.rar
帮帮忙吧?希望这个问题不会让我看起来和上一个一样蠢。
答案1
小型转储显示错误检查代码是 WHEA_UNCORRECTABLE_ERROR 。
WHEA = Windows 硬件错误体系结构。(即,您遇到了硬件问题。)小型转储中报告的错误检查参数是:
WHEA_UNCORRECTABLE_ERROR (124)
A fatal hardware error has occurred.
Parameter 1 identifies the type of error source that reported the error.
Parameter 2 holds the address of the WHEA_ERROR_RECORD structure that describes the error conditon.
Arguments:
Arg1: 0000000000000000, Machine Check Exception
Arg2: fffffa80070778f8, Address of the WHEA_ERROR_RECORD structure.
Arg3: 0000000000000000, High order 32-bits of the MCi_STATUS value.
Arg4: 0000000000000000, Low order 32-bits of the MCi_STATUS value.
简而言之,CPU 引发了一个名为“机器检查”的异常。据我所知,这种情况对操作系统来说总是致命的。小型转储显示您有一个 AMD CPU;AMD处理器架构手册表示处理器将在以下情况下引发机器检查异常:
- 与读取和写入数据、探测、缓存行填充和缓存行写回相关的缓存错误。[请注意,这些都是 CPU 内部的事情。与 Windows 文件缓存等无关。-jeh]
- 与缓存和 TLB 相关的奇偶校验错误。[也存在于 CPU 内部 -jeh]
- 与缓存和 DRAM 相关的 ECC 错误。[缓存中的 ECC 错误位于 CPU 内部。您不太可能运行 ECC RAM,因此我假设这不适用。-jeh]
- 与处理器外部总线上的读写相关的总线错误。[就像它说的 - “外部总线”,而不是在 CPU 内部 -jeh]
我们可以通过格式化 WHEA_ERROR_RECORD 结构来获取有关此问题的更多信息,Windows 将其地址方便地放在了错误检查参数 2 中。
1: kd> !errrec fffffa80`070778f8
===========================================================================
Common Platform Error Record @ fffffa80070778f8
---------------------------------------------------------------------------
Record Id : 01d45625295c3b26
Severity : Fatal (1)
Length : 928
[...]
Error : BUSLG_GENERIC_ERR_*_TIMEOUT_ERR (Proc 1 Bank 0)
Status : 0xb880000000020f0f
因此,我们在总线上遇到了超时。即总线上的事务已启动但尚未很快完成。“总线”可能是 PCIexpress。
根据您描述的情况,这确实强烈指向显卡。
但首先我会尝试更换更好/更强大的电源,尤其是 12V 导轨上电流更大的电源。现代 GPU 非常耗电。
这里是一个 Microsoft 页面,其中详细介绍了如何解释此类内存转储(即错误检查代码 0x124)。
小型转储中没有太多可用信息。唯一可以看到的是当前线程信息;该线程专用于报告 WHEA 错误,因此它没有关于当时其他线程(可能是其他逻辑处理器)中发生的事情的信息,并且转储不包含任何此类信息。通常我会尝试 !running、!ready 等,但这里调试器只是说“无法从 fffff800030b9000 读取”。这是因为小型转储中缺少信息 - 这对于 WHEA 错误很常见。如果您启用了内核或自动转储并重现了问题,则较大的转储文件可能包含更多信息,但在我看来,您有一条明确的路径可以遵循,即硬件交换。对此深表歉意。
答案2
我只是猜测,但根据你尝试过的方法(甚至重新安装 Windows),我倾向于认为你的 GPU 出现了小的局部硬件故障。GPU 本身、主板或 VRAM 的一小部分存在缺陷,只有特定的图形绘制调用序列才会出现这种情况。只有一款游戏才会出现这种情况,这是完全有可能的。
我遇到了类似的问题大约 10 年前使用非常老旧的 Nvidia 显卡,众所周知,随着时间推移,该显卡会出现部分故障;一款特定的 MMO 游戏会出现伪影然后崩溃,但其他 MMO 游戏和 FPS 游戏则可以正常运行。
如果你的 GPU 已经使用了 2.5 年,那么它肯定已经足够老了,会开始以某种“早期故障”的方式出现性能下降。这种情况在笔记本电脑上更常见,因为笔记本电脑的芯片运行温度一直高于台式机(例如:Macbook Pro 的 GPU 寿命很短年),但也许你只是运气不好。
总体而言,我认为这种问题在现代台式机显卡上非常罕见,但这并不意味着它不会发生。它发生频率降低的唯一原因是,在过去几代产品中,Nvidia 和 AMD 对其产品投入了比过去更多的 QA 和压力测试,以确保其长期可靠性。当然,如果芯片运行温度过高,最终它会损坏——这只是时间问题。
最终,如果没有非常专业的设备(最有可能是电子扫描显微镜和/或X射线显微镜,以及数千美元的额外微电子设备),就无法知道对于某些你的 GPU 出了什么问题(如果存在)以及它是如何/为何发生的。
不幸的是,对于普通消费者来说,替代方案很简单,但通常很昂贵:当您怀疑某个部件“坏了”时,可以将其替换为具有同等功能的新设备(或至少是不同的但已知可以正常工作的设备)。
例如,如果您怀疑 GTX 970 有问题,您可以借用朋友的 GTX 960(他们已经测试过并且知道它可以正常工作)并将其安装在您的系统中,看看它是否能正常工作。如果它不工作,则问题出在其他方面。如果它能正常工作,那么您的 GTX 970 有问题。
对每个可以想到的组件重复此过程:主板、CPU、RAM,甚至可能包括 WiFi 卡之类的组件。
如果您没有朋友愿意借给您电脑零件,您可能不得不购买它们来进行这些测试。或者,如果您知道一家友好的当地电脑维修店,他们可能会让您使用他们的备用硬件进行故障排除,并且可能只收取少量诊断费(如果有的话),这比购买新 GPU 便宜得多。如果您愿意,您也可以在二手市场上碰碰运气。
一旦确定了硬件故障,您唯一能做的就是更换它。在大多数情况下,拿来坏掉的 GPU 并尝试修复它并不经济,因为拥有高端设备的专业人员实际找到并修复问题所需的时间将超过 GPU 的价值——除非它是全新的。如果它是全新的,您有保修,您应该将其送回制造商进行维修或更换。遗憾的是,GPU 贬值太快,超出保修期的维修并不经济。
如果更换硬件没有修复了您的问题,那么它仍然可能是软件问题——但考虑到您已经完全重新安装了 Windows(并且,有人认为,还有《守望先锋》),我敢打赌,您最终会发现有缺陷的硬件,而不是软件相关的问题。此外,典型的数据损坏类型的错误不会导致 BSOD。
这个问题可能很难诊断,几乎不可能找到根本原因,如果真是这样的话,修复起来可能很昂贵。大多数 GPU 都有 1 或 2 年保修期,而不是 2.5 年以上,所以除非你有非常承诺提供更长保修期的优秀制造商。如果您不在保修范围内,并且您确定问题出在 GPU 硬件上,则需要购买新的 GPU。