如何让缓解 eGPU 的带宽瓶颈,在现代游戏上不那么卡
tl;dr: 禁用 reBar / AMD SAM 直接内存读写, VKD3D_CONFIG=no_upload_hvv
最近开始玩 2077, 发现在 eGPU 上无论是 windows 还是 Linux 都没有发挥出该有的帧数,还有明显的频繁声音卡顿,显卡也吃不满。
搜索之后,发现是优化好的游戏才有这个问题,结合其他网友在显卡坞上的体验,发现禁用 SAM 就好了。原因是 DX12 下会自动尝试让 CPU 直接去访问大块的显存,这在显存带宽高、延迟低的系统上确实会有更好的体验,但在 eGPU 场景下会导致频繁的 CPU 硬件中断,造成严重的卡顿。
解决方法:禁用 reBar / AMD SAM 直接内存读写。
- Linux: 环境变量 VKD3D_CONFIG=no_upload_hvv
- Windows: 用 Nvidia Profile Inspector
设置好后,AMD 7800XT + 6800H 的组合,玩 2077 从 33 帧 / 补帧 50 帧变成了 65 帧 / 补帧 115 帧。
参考链接:
tl;dr: 禁用 reBar / AMD SAM 直接内存读写, VKD3D_CONFIG=no_upload_hvv
最近开始玩 2077, 发现在 eGPU 上无论是 windows 还是 Linux 都没有发挥出该有的帧数,还有明显的频繁声音卡顿,显卡也吃不满。
搜索之后,发现是优化好的游戏才有这个问题,结合其他网友在显卡坞上的体验,发现禁用 SAM 就好了。原因是 DX12 下会自动尝试让 CPU 直接去访问大块的显存,这在显存带宽高、延迟低的系统上确实会有更好的体验,但在 eGPU 场景下会导致频繁的 CPU 硬件中断,造成严重的卡顿。
解决方法:禁用 reBar / AMD SAM 直接内存读写。
- Linux: 环境变量 VKD3D_CONFIG=no_upload_hvv
- Windows: 用 Nvidia Profile Inspector
设置好后,AMD 7800XT + 6800H 的组合,玩 2077 从 33 帧 / 补帧 50 帧变成了 65 帧 / 补帧 115 帧。
参考链接:
This work is licensed under
Creative Commons Attribution-NonCommercial 4.0 International
![]()
![]()
![]()