1 解释问题
玩某些游戏时,每隔几秒就会出现一次卡顿,在窗口模式下玩 csgo 时尤其明显,全屏模式下玩可以避免这种情况。音频没有出现任何问题。
我注意到,当我在 discord 中进行语音聊天时,我的耳机麦克风已关闭,问题并没有发生,但是当我再次从开关打开它时,问题又出现了。
1.1 NVIDIA X
我尝试通过更改 NVIDIA X 屏幕 OpenGL 设置中的复选框来解决卡顿问题,但我真的不建议在那里更改任何显示配置,因为它会给我的双屏设置带来更多问题。
我通过“软件和更新”->“附加驱动程序”重新安装显卡驱动程序来恢复。我将图像质量设置为高,因为提高性能会导致 CSGO 中的屏幕闪烁。
1.2 Pavucontrol
我尝试使用 pavucontrol 更改配置,并将音量调低到不会发出静电噪音的程度。这个方法奏效了,但音量只有 10% (-60 dB),我再也听不到自己的声音了。
然后我尝试将内置音频模式从双工改为输出。麦克风导致更大的卡顿问题。在输入模式下没有帧卡顿,但我再也听不到任何声音,因为只有输入通道在使用。
2 我找到的解决方案
我通过更改 /etc/pulse/default.pa 中的一些模块解决了这个问题。
按评论行加载模块模块空闲时挂起. 禁用会导致麦克风发出持续的静电噪音。
并添加加载模块模块回声消除接近文件末尾。回声消除模块消除了静态噪音。
2.1 我的电脑部件
- 主板:MSI Z170A PC Mate
- 处理器:i5-6600K
- 显卡:GTX 1060 6GB
- 显卡驱动程序:NVIDIA 396.54
- 内存:16 GB
主板配有 Realtek® ALC887 编解码器。耳机是 Steelseries Siberia v2,在 Windows 7、8.1 或 10 中从未出现过任何问题。
2.2 帖子
对我有帮助的帖子:
- CS:GO mini 卡顿
- https://unix.stackexchange.com/questions/114602/pulseaudio-sink-always-suspended
- 使用 PulseAudio 实时消除噪音?
我检查过但无法工作的帖子:
问题
这个解决办法会不会再带来麻烦?我不明白模块空闲时挂起有什么用。如果我使用笔记本电脑,也许它可以节省很多电量?
目前它的表现似乎与以前基本相同,但我可以更好地控制如何调整麦克风中的静态噪音(我非常喜欢它)。
桌面看起来稍微稳定一些,但这可能是我的想象。
编辑:麦克风在多次重启后发生了变化......我无法再取消某些音量然后提高剩余音量......我不知道为什么会这样......
编辑2:
我禁用了回声消除功能,因为这不是我想要的,尽管它由于某种原因工作了一段时间......嗯,它是为了回声......
没有用于输入音频的均衡器,也没有用于脉冲音频中麦克风的额外增强控制以供进一步调整。
我在 alsamixer 中将前置麦克风的增强量增加了 10 dB,在 pavucontrols 中将增强量降低到了 45% 左右...现在它降低了静态噪音,并且麦克风声音足够高,其他人可以听到我的声音。