OpenCore 0.7.5新特性,RX6000系显卡可开启ResizebleBars/SAM支持

前言

ResizebleBars(Resizable Base-Address-Register,可变大小基址寄存器),AMD 平台则称为“Smart Access Memory(SAM)”,该特性于 2008 年由 PCIe 3.0 规范引入,但是历史上的很长时间这个功能都被忽略了。直到 AMD 发布 5000 系锐龙 + RX 6000 系显卡搭配 PCIe 4.0 时,在发布会上作为一个亮点进行了讲解,才逐渐回到玩家关注视野。

ResizebleBars/SAM 是什么?

在以往运行大型 3D 游戏或其它大型 3D 应用时,处理器无法一次性访问显卡所有的显存,长期以来这个值的上限一直是 256MB,随着科技的发展,这个限制慢慢的开始变得效率低下,超出 256MB 大小的的数据需要从内存依次加载到显存,再由显卡进行处理,如此往复,再加上 PCIe 带宽和各硬件之间的通信延迟,造成了一定的性能损耗。

ResizebleBars/SAM 即是为了解决这个问题而生,突破 256MB 的限制,处理器要访问和交换的数据可以直接存储到显存中,显卡也会缩短等待数据的时间,提升效率。在开启此功能的情况下,理论上处理器可以一次访问到全部显存,但在实际应用中,由于显卡自身对显存始终拥有优先使用权的关系,处理器并不能访问到全部显存。

较新版本的 GPU-Z 中已经有 Resizeble Bars 信息提示

ResizeBars/SAM 对黑苹果的意义?

和 Windows/Linux 不同,macOS 并不完全支持此功能,其最大限制值是 1GB,macOS 平台在大型 3D 游戏方面也没有 Windows 那么丰富多彩,但由于之前 OpenCore 等引导工具无法处理 ResizebleBars/SAM 的兼容性问题,黑苹果在安装 macOS 时,一般都推荐在 BIOS 中关闭 ResizebleBars/SAM 功能,否则可能遭遇黑屏问题。就目前来看,OpenCore 0.7.5 的这个新特性至少能让你在 BIOS 中开启 ResizebleBars/SAM,从而在 Windows 中正常获得该功能的使用体验,同时不影响 macOS 启动和运行。

「注意」

  • 从现有评测上来看,ResizebleBars/SAM 的性能提升较为有限,在 AMD 平台比较明显,如果是英特尔平台,就不是很明显,而且还需要游戏/软件本身支持该功能,目前在部分游戏/软件中甚至是负优化,具体评测可参考哔哩哔哩 @极客湾 或其它媒体的评测;
  • 对于黑苹果来说,ResizebleBars/SAM 的应用范围目前仅限于 RX6000 系列显卡,并且需要主板 BIOS 支持,英特尔平台需要主板中拥有 Re-size Bar Support 选项,AMD 平台需要有 Smart Access Memory/SAM 选项;NVIDIA 的显卡目前仅 RTX30 系支持,2021 年 3-4 月以前生产的 RTX30 系显卡可能还需要更新 VBIOS;
  • 要开启 ResizebleBars/SAM 必须使用 UEFI 模式引导系统;

 

OpenCore 0.7.5 新增的 Quirks

OpenCore 0.7.5 正式版新增了两个 Quirks,分别是 ResizeAppleGpuBars 和 ResizeGpuBars,前者位于 Booter → Quirks,后者位于 UEFI → Quirks,下面讲讲这两个选项的作用和区别。

简单来说,ResizeAppleGpuBars 只针对 macOS 生效,而 ResizeGpuBars 则影响所有通过 OpenCore 引导的操作系统,而较新版本的 Windows 和 Linux 自己可以处理 ResizebleBars 特性,所以我们的思路就是调整前者,关闭后者。

这两个选项接受整数值,如下:

已有1816次阅读

ResizeGpuBars 直接设置为 -1 即可。没有 RX6000 系显卡的同学,建议两个都设置为 -1。

 

OpenCore 设置

首先将 OpenCore 升级到 0.7.5 正式版,如何升级可参考「黑苹果升级 OpenCore/Clover 引导工具」一文,这里不赘述。

OpenCore 配置工具可以使用 OpenCore Configurator / OCAuxiliaryTools / ProperTree / PlistEdit Pro / Visual Studio Code 等等,选择你自己习惯用的就行,这里演示其中几种。

OpenCore Configurator

「注意」修改 config 前,务必进行备份,以免失败后无法进入系统。

截止本文发布,OCC 并未发布支持 0.7.5 正式版的配置工具版本,不过此时的最新版本支持 0.7.5 开发版,已经拥有对应的键值设置,只需在屏幕左上角菜单 OpenCore Configurator → 偏好设置 中进行切换:

然后分别修改 Boot → Quirks 和 UEFI → Quirks 中对应的设置:

「注意」ResizeAppleGpuBars 按照上一章节说明进行调整,ResizeGpuBars 设置为 -1 即可。

 

OCAuxiliaryTools

「注意」修改 config 前,务必进行备份,以免失败后无法进入系统。

OCAT 更新比较频繁,目前已经有针对 0.7.5 正式版的配置器版本。分别修改 Boot → Quirks 和 UEFI → Quirks 中对应的设置:

「注意」ResizeAppleGpuBars 按照上一章节说明进行调整,ResizeGpuBars 设置为 -1 即可。

 

PlistEdit Pro

「注意」修改 config 前,务必进行备份,以免失败后无法进入系统。

笔者发现在升级到 macOS 12.0.1 后,原本在 Big Sur 还可使用的 ProperTree 又挂了,不过同为 Plist 编辑工具,使用 PlistEdit Pro 体验和 ProperTree 是差不太多的。分别修改 Boot → Quirks 和 UEFI → Quirks 中对应的设置:

「注意」ResizeAppleGpuBars 按照上一章节说明进行调整,ResizeGpuBars 设置为 -1 即可。

 

BIOS 设置

设置完 OpenCore 之后就可以重启进入 BIOS 开启对应设置了。由于各厂家主板设置和名称并不相同,这里无法一一叙述,以微星为例,该选项位于 Settings → Advanced → PCIe/PCI Sub-system Settings

如果找不到,注意看 BIOS 界面信息,较新的主板一般都有搜索功能,可直接搜索选项名称。开启后保存退出 BIOS 即可。

 

效果实测

老实说,笔者前后折腾了整一天,更换了很多值,在 Windows 测试了 3DMARK 和新版鲁大师,在 macOS 测试了 Geekbench,都没有感觉到明显的区别。只有分别设置为 0 和 10 的时候看到了较为明显的区别,一算最大差异比例,大约 13.7%,而多次测试的平均值大概在 5%-8% 左右浮动,不过光是 Geekbench 的 Metal 测试并不能让显卡满载,而 Geekbench 的测试结果也一向比较薛定谔😂。

左边设置为0,右边设置为10

如果按照 AMD 发布会时的说法,提升应该在 2% ~ 13% 的范围。不过注意看小字,AMD 的结果是 3A 平台(处理器+显卡+主板全部 AMD)再加“Rage Mode”(狂暴模式)测得的。

你的测试结果如何?欢迎反馈 :)

 

 

0. 本站所有资源解压密码均为 heipg.cn
1. 本站资源收集于网络,仅做学习和交流使用,请于下载后24小时内删除。如果你喜欢我们推荐的软件,请购买正版支持作者。
2. 如有无法下载的链接,联系:admin#heipg.cn,或到QQ群进行反馈,我们将及时进行处理。
3. 本站发布的内容若侵犯到您的权益,请联系站长删除,联系方式:admin#heipg.cn,我们将第一时间配合处理!

黑苹果星球 » OpenCore 0.7.5新特性,RX6000系显卡可开启ResizebleBars/SAM支持

5 评论

  1. 6600xt有效吗

    1. 在windows显示支持Resizeble BAR的都有效

  2. 昨天6800xt的3A装完黑果还在纠结win下sam不能开启了,今天就发布教程了,感谢😘

    1. 好的好的,3A平台的SAM提升很明显吗?

      1. 这倒没实际测过,能打开感觉舒服些,因为看显卡评测再玩游戏的情况下可以有效提高最低帧的表现

发表评论