在 Ubuntu 20.04 上使用 Windows 双启动玩游戏时出现卡顿

在 Ubuntu 20.04 上使用 Windows 双启动玩游戏时出现卡顿

我最近决定双启动 Ubuntu 以尝试将其作为我的主要平台,因为我喜欢它的外观和感觉,而且我真的很想摆脱 Windows。但无论出于什么原因,无论我玩什么游戏都会冻结/降低 fps 一段时间,然后才恢复正常。我知道这不是硬件问题,因为完全相同的游戏在 Windows 上运行得很好。我已经用古墓丽影(在 proton 上,而不是糟糕的 linux 端口)、最终幻想 XIV、古墓丽影的崛起和 Slime Rancher 测试过它。查看 mangohud 似乎我的 gpu 使用率到处都是。具体来说,在古墓丽影的崛起基准测试中,有时我的 GPU 使用率为 100% 并产生预期的 FPS 量,但在另一个区域它下降到大约 59%,这反过来导致我的 FPS 从 ~144 下降到 50-70FPS。在运行它时,我的 fps 偶尔会降到 30 多,然后又升回 70,因为基准测试告诉我这是最低值。我尝试将 CPU 设置为性能、按需、schedutil,但它们似乎都没有太大区别。在使用 mangohud 时,我的 CPU 最高会升至 64%,正如我所说,我在 Windows 上没有问题,所以这不是 CPU 瓶颈。我不知道问题是什么,如果我能解决这个问题,我可以看到自己使用该平台作为我的主要平台,因为我的所有游戏似乎都可以在 proton 上运行得很好(除了卡顿)。

我的规格是:ASRock AB350M 16GB 内存 ZOTAC Gaming RTX2060 Super(驱动程序 460.91.03,也尝试过 470.57.02,但没有用)AMD Ryzen 5 1600x 一台华硕显示器(60hz),一台带 GSync(144hz)的戴尔 如果我忘记了什么,这里有一个 lshw 的 pastebin:https://pastebin.com/7qdVFE72

  What I've tried:

将 CPU 调速器更改为性能 禁用 Wayland 安装 Pop!_OS,重新安装 Ubuntu(多次) 降级驱动程序 在 nvidia x 服务器设置中将 GPU 更改为性能 在 BIOS 中禁用安静和冷却 强制完整组合管道 安装到不同的 SSD(我有 3 个) 保存到 X 配置文件 禁用/启用同步到 VBlank

再次强调,Windows 上一切都运行正常,因此我认为这根本不是硬件问题。即使查看 mangohud 上的温度,一切正常。此时,我感觉研究了很久,但没有任何帮助,因此任何帮助都将不胜感激。编辑:Pastebin 包含 free -h、sysctl vm.swappiness 和 swapon -s 的结果https://pastebin.com/JfBa1pAh

答案1

BIOS

华擎AB350M

您有一个非常旧的 BIOS 版本 P3.10,日期为 2017 年 8 月 30 日。转到这里并下载并安装较新的 BIOS。

笔记:仔细阅读网站上的各种版本警告。

笔记:更新 BIOS 之前请做好备份。

超频

如果您的 CPU 或 RAM 超频,请将其恢复默认值,然后重新测试。

记忆

锐龙 5 1600x(Summit Ridge)

金士顿 KHX2666C16/8G

Ryzen 处理器对内存兼容性非常挑剔。您的金士顿内存未出现在 ASRock 内存兼容性列表中。

https://www.memtest86.com/并免费下载/运行它们memtest来测试你的记忆力。至少完成一次所有 4/4 测试以确认记忆力良好。这可能需要几个小时才能完成。

交换/vm.swappiness

你的 /swapfile 太小了,只有 2G,而且你的 vm.swappiness 是错误的。

笔记:错误使用rmdd命令可能会导致数据丢失。建议复制/粘贴。

在里面terminal...

sudo swapoff -a           # turn off swap
sudo rm -i /swapfile      # remove old /swapfile

sudo dd if=/dev/zero of=/swapfile bs=1M count=4096

sudo chmod 600 /swapfile  # set proper file protections
sudo mkswap /swapfile     # init /swapfile
sudo swapon /swapfile     # turn on swap
free -h                   # confirm 16G RAM and 4G swap

sudo -H gedit /etc/fstab使用或编辑 /etc/fstab sudo pico /etc/fstab

确认 /etc/fstab 中的此 /swapfile 行...并确认没有其他“交换”行...在此行中使用空格...确认没有制表符...

/swapfile  none  swap  sw  0  0

reboot                    # reboot and verify operation

编辑 /etc/sysctl.conf 并设置 vm.swappiness=10,然后执行sudo sysctl -p。这仍然会最小化交换,我相信这是你的初衷。

Ubuntu

如果以上所有方法都无法解决问题,请准备一张 Ubuntu Live 21.04 DVD/USB 并启动它。安装最新的 Nvidia 视频驱动程序(如果可能)。重新测试。

更新#1:

BIOS 已更新。但这对解决问题没有帮助。

更新 #2:

memtest已通过。vm.swappiness 设置为 10。/swapfile 大小调整为 4G,超频设置为“自动”。Ubuntu Live 21.04 USB 有同样的问题(但当然它的 /swapfile 更小)。

相关内容