强制开启 Resizable Bar 提升显卡性能
曦子本文介绍如何开启 Resizable Bar
, 提升显卡性能.
缘起
最近有跟小伙伴一起玩 PUBG, 我的显卡是 AMD 6950xt, 但是 cpu 是服务器版本, 内存频率也只有可怜的 2666HZ, 这就导致有时候会卡, 🪂的时候大概 210 帧, 普通游戏状态有 180 帧, 但是 roll 点的时候可能只有 90 帧.
然后看了下 AMD 显卡 能不能做什么优化, 然后就发现 Resizable Bar 是关闭的.
什么是 Resizable Bar ?
Resizable BAR(Base Address Register)是一种技术,它允许CPU直接访问显卡的全部显存,而不是像传统上那样只能访问一部分。这种技术可以提高显卡和CPU之间的数据传输效率,从而提升游戏和图形应用的性能。实际上,它允许CPU在需要时更有效地加载和处理大量的图形数据,特别是在高分辨率和高质量纹理下。
默认情况下这个值只有可怜的 256M, 但是开启后可以访问显卡的任意显存.
开启需要以下条件:
- 关闭 CSM
- 打开 Enabling hidden 4G decoding
- bios 开启 Resizable
历程
我兴高采烈的去阅读了我的 BIOS Manual 发现我的 bios 并不支持该功能, 说白了就没有这个选项.
万事不决问 Google, 然后发现了开源项目 ReBarUEFI. 但是发现大多人都是消费级主板, 这个需要手动修改 bios 并刷入, 一旦出现问题就需要第二台电脑强行刷 BIOS, 而且我手头上并没有第二台电脑.
我搜了下 issues, 从 WIKI 上找到了已测试列表, 已经有人测试过 C621 芯片, 考虑到我之前也操作过 UEFITool, 而且该项目也是用到该工具, 直接开搞.
因为 bios 不支持该功能, 所以我们要往 BIOS 里添加一个 fss 模块. 添加之后并不会在 bios 里出现一个开启的选项所以还要步骤 3.
需要下面的工具:
- UEFITool non-NE 注意必须要这个版本❗️
- ReBarDxe 这里下载 fss 注入到 BIOS
- ReBarState.exe 也在上面的 github 地址
操作步骤: 英语好的自己看这里
- 把你自己的 bios 文件拖入 UEFITool
- File -> Search, 然后选中 Header only GUID, 搜索
3C1DE39F-D207-408A-AACC-731CFB7F1DD7
- 然后我们点击搜索结果跳转到相应的 section, 然后划到最下面, 选中最后一个 DXE driver, 右键点击 insert after
- 插入后保存 bios 文件
- 刷入 bios
- windows 开机开启 Resize Bar 这里别忘记!!!
注意, 有些消费级主板到这里可能还不算结束, 可能还需要 UEFIPatch 打补丁, 我的主板不需要, 这里不再赘述。
看下成功的结果:
可以看到 BAR1 的访问内存已经是显卡的最大内存了, PCI-Express Resizable Bar 也是开启状态.
小结
开启后最低帧大概有个 15-20% 的性能提升, 最高帧也差不多, 不过打游戏的话还是建议大家换消费级 CPU, 同时也不是所有的游戏都支持 Resizable Bar.