一个烂驱动引起的全系统溃败——PC音频故障排查记

一个烂驱动引起的全系统溃败——PC音频故障排查记

我的一台PC一直有个问题,就是经常出现音频卡顿问题,每次卡顿只有一百毫秒左右;发生卡顿时,鼠标指针随之卡死、屏幕动画停止。

这个情况越来越严重,刚开始重启还能解决,很快哪怕重启后不久就会复发。


我注意到“当鼠标滑过界面元素时,卡顿问题会变得更严重”,至可以通过鼠标移动主动触发卡顿。这让我以为可能是“某个或者某些应用注册了全局的mouse over事件钩子”,Windows平台无法知道钩子注册是否成功,它们可能反复注册、确保自己是最后一个;加上我不关机,那么时间久了,注册次数太多,事件系统自然不堪重负。


基于这个猜测,我开始排查每个应用,然后发现在关掉deepseek/豆包桌面版之后情况大幅缓解。于是我怀疑是这两个应用的“屏幕取词”功能打架造成的。

卸载,重启,果然不再复发。

之后,我卸载了所有国产软件;把微信/QQ PC版丢进sandboxie,PC恢复了正常。


不过,这台PC一直有个问题,就是它的声卡输出很难听。缺低频,高频刺耳。不过我忙别的,一直没时间理会它。


最近几周,音频卡顿问题再次复发;关机,重启,情况好转。但一周左右又会复发。


昨晚终于下了决心,彻底体检,看看究竟是哪里的问题。

闲话休提,总之一番努力后,我找到一个软件LatencyMon(免费软件,但国内无法下载);安装,运行。

本以为电脑刚刚重启过,它可能抓不到什么;谁知跑了两三分钟,它就找到了问题。延迟第一的是ndis.sys:

ndis.sys
网络驱动程序接口规范(NDIS)
0
17281
1.349330
56.251220
0xFFFFF800'19C00000
1847296
Microsoft Corporation
Microsoft® Windows® Operating System
10.0.26100.7705
C:\WINDOWS\system32\drivers\ndis.sys

ndis.sys是网络驱动框架入口程序;可以看到它的执行最高延迟高达1.34ms,这是极其不正常的。


事实上,一旦DPC延迟高于2ms,音频系统就可能完蛋;刚开机这个ndis.sys就有1.34ms,这太可怕了——这说明系统其他组件加起来只能允许最高0.66ms的占用(实际除它外的前四名已经占用了0.8ms以上)。

换句话说,这台电脑哪怕刚刚重启的“干净”状态,它的音频系统已经在崩溃状态了。

那么,究竟是网络驱动框架里面的哪个部分在作怪呢?


根据AI的建议,我先禁用了主板板载的rz616 WiFi 6E网卡,发现ndis.sys执行时间最大值立即降低到了0.255ms,不到原来的零头。

之后,我再次关闭了这块网卡自带的蓝牙,ndis.sys最大延迟进一步降低到了0.179ms——可见这个蓝牙驱动还行,没那么烂。


两者都关掉之后,我发现耳机里的音乐突然变得好听了。低频下沉了、高频柔和了,达到了Realtek该有的水准。

当然,我专门研究过音频,也经过大量音乐熏制……咳咳,熏陶,自然对音质极其敏感,它一变我就知道。然而这对绝大多数人来说是玄学,他们听不出,也理解不了。

那么,今天我又无意间做了另一个试验:
我习惯在做饭时开着科普视频,这样在厨房做饭时也能继续接受知识;但过去这台电脑发出的声音总是让人听不清——我以为是因为它用了漫步者低端R1000TC北美版,这个音箱可能音质不咋地,虽然被很多人吹嘘。就它的价格……比我其他音箱垃圾一些,难道不应该吗?
因为听不清,我去厨房时就把音量开到16——不敢再大,否则太吵。
但,今天却不同。我甚至忘了像过去那样把音量开大一点,仍然是音量10;但在厨房却是字字入耳,听的清清楚楚。
up主是同一个人;音量还小了很多;但语音清晰度甚至比过去在桌面前更好——过去在音箱半米前都听不大分明,这次跑厨房都听的清清楚楚。
回到电脑前,我尝试把音量开大。结果音量一口气开到50、60、80,声音始终清晰,给人的感受是越来越清晰、细节越来越多,但始终不觉得声音太大——不像过去,开到16我都觉得太吵了。

综上,现在可以确定问题所在了:

1、这个破网卡的破驱动太烂了,直接耗尽了DPC允许的最大延迟,使得DPC总延迟超2ms

2、因为DPC延迟爆了,导致realtek板载声卡缓冲区随机“缺货”,这就导致了大量的细微“毛刺”(和AI讨论过,当缓冲区耗尽时,realtek可能进入静音状态,也可能是循环播放);这些毛刺就引入了大量高频噪音,这就是我感觉“高频刺耳”的原因

3、我实际上从未用过WiFi,而是习惯使用更可靠的网线直连;但,虽然WiFi未连接,一些应用可能也会因为某种原因接触WiFi——或者,每次开机网络初始化时,都会“接触”WiFi。而因为这个驱动写的太烂,每次触动它都可能产生一定的资源泄漏。久而久之,它的延迟就越来越大,直到引起中断处理过程的全面紊乱

4、此时,鼠标移动、屏幕重绘等等都会加剧紊乱、造成“风暴冲击”;这个冲击需要一定时间才能“消化”,这个“消化”过程引起声卡上持续几个甚至几十个毫秒的、滋滋啦啦的卡顿效果


于是我立即进bios,关闭了板载WiFi/蓝牙;之后又查了资料,这个网卡可以从主板上拆下来、换成更好更稳定的ax210。不过有位网友把它拆下后发现主板无法启动。

这个留待以后吧,有空了再买个ax210,研究下如何替代它。现在反正用不到WiFi和蓝牙,就先不管了。

编辑于 2026-02-26 · 著作权归作者所有