2021年3月30日、NVIDIAはデスクトップ向けのGeForce RTX 30シリーズの「Resizable BAR」サポートを開始した。CPUとビデオカードのビデオメモリは32bit OSとの互換性維持の必要性もあり、256MB単位でデータを伝送するのが慣例となっていた。その制限をなくし、CPUからビデオメモリの全領域へ自由にアクセス可能にするのがResizable BARだ。

  • CPUからビデオメモリへのアクセスを効率化するのがResizable BAR

    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のアップデートが必要になる。

  • NVIDIAのWebサイトで対応CPUおよびチップセットを確認できる

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 MPG Z490 GAMING CARBON WIFIのUEFIはバージョン7C73v17からResizable BAR対応

MSIのマザーボードのUEFIアップデート方法はいくつかあるが、今回はUSBメモリにWebサイトからダウンロードしたUEFIのデータを保存。マザーボードのUEFIメニューにある「M-FLASH」機能を利用してアップデートを行った。

  • UEFIのデータをUSBメモリに保存。UEFIメニューから「M-FLASH」を起動し、USBメモリ内のUEFIのデータを指定してアップデータを行った

続いて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」に切り替わるが、それで正常な挙動だ。

  • 「BIOS CMS/UEFI Mode」が「UEFI」になっていることを確認する

  • 「Re-Size BAR Support」を「Enabled」にする

次に、ビデオカードをResizable BAR対応のvBIOSにアップデートする。MSI GeForce RTX 3070 VENTUS 2X OCはバージョン「124」からResizable BAR対応だ。アップデートは、MSIの総合ユーティリティの「Dragon Center」のLive Updateを選択し、「Advance」ボタンをクリックすることで行える

  • Dragon CenterのLive Updateから「Advance」ボタンを押すことで、ビデオカードのvBIOSをアップデートできる

  • アップデート中はコマンドプロンプト画面が表示され、何度か「Y」キーを押す必要がある

これでResizable BARが有効になる。有効になっているのか確認する方法はいくつかあるが、手軽なのは「NVIDIAコントロールパネル」を起動し、画面左下の「システム情報」をクリックすることだろう。Resizable BARが有効になっていれば、「Resizable BAR」の項目に「Yes」と表示される

  • Resizable BARが有効になっていれば、「NVIDIAコントロールパネル」の「システム情報」にあるResizable BARの項目に「Yes」と表示される

Resizable BARの効果を実際に確かめてみる

さて、準備が整ったところでResizable BARの効果を確かめていきたい。NVIDIAは現在のところ17タイトルがResizable BAR対応としている。今回はこのうち6タイトルでベンチマークを行う。試すタイトルとベンチマーク方法は以下の通りだ

  • Horizon Zero Dawn:内蔵ベンチマーク機能を使用
  • F1 2020:内蔵ベンチマーク機能を使用
  • ボーダーランズ3:内蔵ベンチマーク機能を使用
  • Forza Horizon 4:内蔵ベンチマーク機能を使用
  • アサシンクリード ヴァルハラ:内蔵ベンチマーク機能を使用
  • ウォッチドッグス レギオン:内蔵ベンチマーク機能を使用
  • NVIDIAでは17タイトルをResizable BAR対応としている。ほとんどがAAA級の人気タイトルだ

  • 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チップセットといった環境ならば変わってくるだろう。今後、環境別のベンチマークも行ってみたいと思う。