2021年3月30日、NVIDIAはデスクトップ向けのGeForce RTX 30シリーズの「Resizable BAR」サポートを開始した。CPUとビデオカードのビデオメモリは32bit OSとの互換性維持の必要性もあり、256MB単位でデータを伝送するのが慣例となっていた。その制限をなくし、CPUからビデオメモリの全領域へ自由にアクセス可能にするのがResizable BARだ。
NVIDIAの「Resizable BAR」とは? AMDでは「Smart Access Memory」
Resizable BARはNVIDIA独自の技術というわけではなく、PCI Expressのオプション技術として存在していたもの。AMDのRadeon RX 6000シリーズでは「Smart Access Memory」という名称で同技術を活用している。
近年ビデオカードのビデオメモリ搭載容量は増える傾向にあり、256MBという小容量でデータを転送するのは効率が悪くなっていた。Resizable BARによってその制限が撤廃されれば性能向上が期待できる、というわけだ。実際NVIDIAでは「いくつかのタイトルで数%、最大で12%の性能向上が得られる」としている。
GeForce RTX 30シリーズでResizable BARを使うにはいくつかの条件をクリアしなければならない。具体的には、ハードウェア的には対応CPUと対応マザーボード、さらにソフトウェアの面で見ると、マザーボードのUEFI、ビデオカードのvBIOSがResizable BARに対応している必要もある。ビデオカードのドライバも「GeForce 465.89 Driver」以降が必要だ。
NVIDIAによるとAMD環境で対応するのはCPUがZen3アーキテクチャに対応するRyzen 5000シリーズ、チップセットはAMD 400/500シリーズ。Intel環境は、CPUが第10世代のCore i9/i7/i5/i3および第11世代のCore i9/i7/i5、チップセットはIntel 400/500シリーズとしている。詳しくはNVIDIAのWebサイトで確認が可能だ。マザーボードがResizable BARに標準で対応していない場合は、UEFIのアップデートが必要になる。
GPUは、GeForce RTX 30シリーズが対応するが、標準でResizable BARに対応しているのはGeForce RTX 3060のみ。それ以外のGeForce RTX 30シリーズでResizable BARに対応するには、vBIOSのアップデートが必要となる。なお、今後出荷される分に関しては、最初からResizable BAR対応になると思われる。
Resizable BARの設定方法とテスト環境
今回は、Z490マザーボード(MSI MPG Z490 GAMING CARBON WIFI)とGeForce RTX 3070(MSI GeForce RTX 3070 VENTUS 2X OC)と例に、Resizable BARを有効化する手順とその効果を確かめていきたい。テスト環境は以下の通りだ。
■テスト環境 | |
---|---|
CPU | Intel Core i7-10700K(8コア16スレッド) |
マザーボード | MSI MPG Z490 GAMING CARBON WIFI(Intel Z490) |
メモリ | Micron Crucial Ballistix RGB BL2K8G36C16U4BL(DDR4-3600 8GB×2、※DDR4-2933で動作) |
ビデオカード | MSI GeForce RTX 3070 VENTUS 2X OC(GeForce RTX 3070) |
システムSSD | Corsair Force Series MP600 CSSD-F2000GBMP600(M.2/PCI Express 4.0 x4、2TB、※PCI Express 3.0 x4で動作) |
OS | Windows 10 Pro 64bit版 |
まず必要となるのは、マザーボードのUEFI(BIOS)のアップデートだ。今回使用したMSI MPG Z490 GAMING CARBON WIFIは、2021年2月4日公開のバージョン「7C73v17」からResizable BARに対応している。
MSIのマザーボードのUEFIアップデート方法はいくつかあるが、今回はUSBメモリにWebサイトからダウンロードしたUEFIのデータを保存。マザーボードのUEFIメニューにある「M-FLASH」機能を利用してアップデートを行った。
続いてUEFIメニューの「Settings」→「Advanced」にある「BIOS CMS/UEFI Mode」を「UEFI」に設定、「Settings」→「Advanced」→「PCIe/PCI Sub-system Settings」を開き、「Re-Size BAR Support」を「Enabled」にする。このとき「Above 4G memory/Crypto Currency mining」も「Enabled」に切り替わるが、それで正常な挙動だ。
次に、ビデオカードをResizable BAR対応のvBIOSにアップデートする。MSI GeForce RTX 3070 VENTUS 2X OCはバージョン「124」からResizable BAR対応だ。アップデートは、MSIの総合ユーティリティの「Dragon Center」のLive Updateを選択し、「Advance」ボタンをクリックすることで行える
これでResizable BARが有効になる。有効になっているのか確認する方法はいくつかあるが、手軽なのは「NVIDIAコントロールパネル」を起動し、画面左下の「システム情報」をクリックすることだろう。Resizable BARが有効になっていれば、「Resizable BAR」の項目に「Yes」と表示される
Resizable BARの効果を実際に確かめてみる
さて、準備が整ったところでResizable BARの効果を確かめていきたい。NVIDIAは現在のところ17タイトルがResizable BAR対応としている。今回はこのうち6タイトルでベンチマークを行う。試すタイトルとベンチマーク方法は以下の通りだ
- Horizon Zero Dawn:内蔵ベンチマーク機能を使用
- F1 2020:内蔵ベンチマーク機能を使用
- ボーダーランズ3:内蔵ベンチマーク機能を使用
- Forza Horizon 4:内蔵ベンチマーク機能を使用
- アサシンクリード ヴァルハラ:内蔵ベンチマーク機能を使用
- ウォッチドッグス レギオン:内蔵ベンチマーク機能を使用
正直効果は微妙と言わざるを得ない。Horizon Zero Dawnは平均フレームレートで見るとまったく同じだ。ただ、グラフにはないが最小フレームレートはResizable BARを有効にすると高くなる傾向にあった。ボーダーランズ3では4Kでは効果あり、Forza Horizon 4はフルHDでは効果ありだ。しかし、それはわずか数%の向上。アサシンクリード ヴァルハラは誤差レベルの差しかない。その一方でウォッチドッグス レギオンはすべての解像度でフレームレートが向上。フルHDでは約11%アップと、NVIDIAが「最大12%向上」とうたっているのは本当と言えるだろう。
全体で見れば、“微増”と、Resizable BARを有効して損はないと言えるが、マザーボードのUEFIやビデオカードのvBIOSアップデートの手間やリスク(失敗すると起動や使用不可になる可能性がある)を考えると、プレイ中のタイトルがResizable BAR対応に入っており、フレームレートをちょっとでも伸ばしたい、という人以外は様子見でいいのではないだろうか。少なくとも今回の環境においては、そういう結論に達する。
もちろん、Resizable BARの効果が弱いのはビデオカード(GeForce RTX 3070)がPCI Express 4.0対応なのに、今回がCore i7-10700K+Z490チップセットというPCI Express 3.0対応環境が影響している可能性はある。
この結果はRyzen 5000シリーズ+X570チップセットや第11世代Coreプロセッサ+Z590チップセットといった環境ならば変わってくるだろう。今後、環境別のベンチマークも行ってみたいと思う。