我有一台 GIGABYTE R9-280X,有一段时间了,我在玩每个游戏(战地 4、Rust、我的世界、英雄联盟等)时都会显示渲染缺陷,通常是在天空区域周围。
一段录像: https://www.youtube.com/watch?v=19d4SuzUOlk
*这不是游戏特有的问题,因为它在多种游戏中都会发生。
我已经更新到最新的驱动程序,并降级到旧版本,但没有帮助。
我最好的猜测是我的图形内存有缺陷,因此它尝试读取并读到垃圾。
这种情况已经发生 6 个多月了,而且卡已经过了保修期。在扔掉它之前我能做些什么吗?
答案1
如果你愿意冒险将卡完全损坏(没有任何修复的可能),你可以尝试有些事情可能会有帮助,也可能没有帮助。这些补救措施的成功或失败取决于以下几点:
- 你尝试的补救措施是否能够解决你遇到的具体问题
- 您正确、准确地执行补救程序的程度,并且没有做任何可能意外造成更多损害的事情
- 无论你是否已经成功猜测或推断出实际问题,并做了足够的研究来确定最有可能解决问题而不会造成更多损害的解决方案
现在,为了挑战你自以为知道自己在做什么的想法,为了扮演魔鬼代言人,我声称你已经不是但却收集了足够的信息来彻底查明是图形内存(GDDR5)芯片有问题。
我提出这一主张的理由很简单:
- 似乎存在某种模式来决定场景中哪些区域最有可能被错误渲染。
- 这种损坏也可能是由于 GPU 核心本身的组件损坏或电路板上的某些走线损坏造成的,因为天空盒渲染可能会调用触发该行为的特定类型的 GPU 命令。
- 在随机存取存储器中,您玩的每个游戏都不太可能将天空盒的纹理数据存储在同一内存区域中。我认为如果它们都使用相同的引擎,这是可能的,但除此之外不太可能。
AMD GPU 采用“GIGO”(垃圾进,垃圾出)设计。这意味着 GPU 本身很少进行数据完整性/健全性检查,除非某些低级约束违规导致 GPU 硬锁定(这很可能表现为计算机上的 BSOD 或至少 TDR)。
从高层次上讲,GPU 上的绘制调用分为三个“阶段”:
阶段1:输入-转移命令并伴随数据到 GPU。损坏或硬件的潜在来源包括坏的 PCIe 通道、GPU 供电不足/坏、从操作系统传送到 GPU 的坏数据(软件/驱动程序错误)等。
阶段2:加工- GPU 占用的位置命令已收到,数据从 CPU 接收数据,并处理它们,将中间结果存储在 VRAM 中。从这一点开始,额外的 GPU 命令可能会导致 GPU 继续在 VRAM 中越来越多地操作数据,甚至读数据从 VRAM 传回 CPU。足够复杂的游戏引擎和/或驱动程序堆栈可能同时执行这两项操作。
在处理阶段,您可能会发现电路板上的线路连接区域已受损,导致 GPU 无法正常工作,但无法检测到问题,因此永远不会锁定或崩溃。或者 GPU 中的实际晶体管可能会因压力或热量而退化。
第 3 阶段:输出- GPU 获取“完成的”图形数据,将其合成在一起(有点像将碎片拼成拼图,或将不同颜色的胶片叠加在一起),然后将其写入帧缓冲区(由显示控制器读取,然后将其推送到 HDMI/VGA/DVI/DP 端口)。或者,它可能在此阶段被读回 CPU,然后使用软件写回帧缓冲区。取决于具体使用的驱动程序/引擎架构。
如果您的桌面在没有玩游戏时正常工作,那么您的问题不太可能出现在输出阶段,因为无论您进行何种渲染,与帧缓冲区或显示控制器相关的任何内容都可能会出现。
如果我不得不猜测的话,我会说 VRAM 不太可能是嫌疑犯,而是 GPU 中负责处理天空盒或遮挡剔除等的某些特定固定功能区域已损坏,或者通向该区域的轨迹已损坏。
话虽如此,您可以尝试一些解决方案,从安全到危险,甚至很可能损坏您的卡:
最安全- 进入 AMD Catalyst 控制中心。在 AMD Overdrive 下,降低 GPU 的时钟频率。首先降低一点时钟频率,然后降低很多。这绝对安全,并且保证不会损坏您的 GPU,因为它在空闲时会主动以“降频”速度运行。有时问题仅在 GPU 负载过重时才会出现。如果您遇到这样的问题,这将通过随时减少 GPU 负载(以及减少热量)来解决问题。不过,您的 FPS 会降低。
最安全- 尝试其他操作系统,如 GNU/Linux(例如 Ubuntu),看看问题是否出现在那里。如果没有,GNU/Linux 驱动程序实现可能会影响未受损坏影响的 GPU 区域/功能,或者可能一直都是软件问题,根本没有任何硬件缺陷。
安全的- 尝试物理清洁 GPU 和 PCI Express 插槽。不要使用任何腐蚀性化学品。轻轻擦拭与 PCI Express 插槽接口的卡上的针脚。
轻微风险- 尝试更新 GPU 的固件代码。一些网站提供适用于 AMD 和 Nvidia 显卡的各种版本的 VGA BIOS。确保匹配确切的型号。然后比较版本。如果您没有安装最新版本,得到最新版本。在大多数情况下,您可以使用 AMD 原装闪存实用程序安全地进行闪存。如果您下载了错误的 ROM,您的卡可能会损坏,但这在 R9 280X 上不太可能发生,因为您可以随时拨动主板上的双 ROM 开关(一个很小的开关,可让您同时安装两个不同版本的 ROM/BIOS/固件)以恢复出厂固件。只需确保不要破坏出厂固件的第二份副本,否则您就真的完蛋了。
但一般来说,刷写固件的风险是低级,尤其是在双 BIOS 卡上。即使在刷新过程中断电,您也可以只需拨动开关恢复出厂设置,然后继续。我个人已经刷新了 HD7970/R9 280X 大约 10 次。与我所建议的其他方法相比,这真的很随意。
除了这一点之外,我只想强调这是多么危险,并且对于您尝试此操作而对硬件造成的任何损坏,我概不负责。如果操作不当,很可能会导致您的卡完全损坏。
- 超级危险- 尝试烘烤你的 GPU。只需谷歌搜索“bake GPU”,你就会得到数百个用户故事,有些令人高兴,但大多数令人悲伤,它们说明了四种结果之一:要么永久修复了问题,要么暂时修复了问题,要么没有修复问题但没有进一步损坏 GPU,要么损坏了 GPU。非常重要的一部分尝试过此方法的人报告说,这会损坏 GPU。这可能是由于他们处理不当造成的,但事实是,这非常危险。如果你不小心,你的手还可能被热材料烫伤,如果你鲁莽,甚至会引发火灾。
这里的一般概念是,你想要一个热烤箱(不是微波炉——非常重要!)并迅速将 GPU 加热到刚好足够高的温度,使焊料稍微融化。这会使焊料“回流”,并可能修复某些类型的损害。它不是包治百病,能(而且经常会)彻底损坏卡。它对时间和温度非常敏感,不适合胆小的人。
超级困难和危险- 从物理上来说,可以更换或升级显卡上的 VRAM。这里Youtube 视频演示了该过程。然而,以下限制立即显现出来:
- 您需要使用正确的工具并对您的双手进行正确的物理控制才能完成此操作而不会损坏任何东西。
- 你需要知道精确的兼容 GDDR 芯片的部件号,可与您的 GPU 配合使用。了解如何找到正确的部件超出了此问题/答案的范围。
- 完成后你需要能够把所有东西重新组装起来,并且不会损坏任何东西。
当然,如果您的 GDDR 本身没有损坏/缺陷,则此解决方案毫无意义。不幸的是,它不太容易确定无论问题出在 GDDR 或其他地方。您可能能够编写一些与 memtest86 相当的软件,但针对的是 GPU,但我从未听说过这样的事情。
当然还有最后一个:
- 超级危险-认识一位 AMD 员工,他是一名显卡硬件工程师:) 他们在开发/测试/验证时可能一直在修复类似的东西。这非常危险,因为即使你是朋友,要求他们为你做这件事也可能会导致他们对你大喊大叫或打你。:)
答案2
唯一能给出的建议是去购买地更换,但如果你已经痛苦了 6 个月,我想你可能已经太晚了。
在另一台计算机上尝试,如果不行,那么你就需要一台新的。