PlayStation 2エミュレーター『PCSX2』をベースに、ARM64環境向けに開発が進められている『ARMSX2』。その最新版となるバージョン2.6.6.7が公開され、Android版で「Lossless Scaling」を利用したフレーム生成機能に対応しました。
●ARMSX2公式GitHub
https://github.com/ARMSX2/ARMSX2
これにより、ゲームそのもののフレームレートを変更することなく、実際に描画されたフレームの間へ補間フレームを挿入し、高リフレッシュレートのディスプレイでより滑らかに表示することが可能になります。たとえば30fpsや60fpsで動作しているゲームを、より高い表示レートで見せることができます。(github.com)
PS2エミュに「フレーム生成」を搭載
今回追加されたのは、PC向けアプリとして知られる「Lossless Scaling」のフレーム生成機能を、ARMSX2側から利用する仕組みです。ARMSX2はVulkanの表示処理から直接Lossless Scalingの補間処理を動かし、ゲームが実際にレンダリングしたフレームとフレームの間に、新たに生成した映像を挿入します。(github.com)
つまり、ゲーム側を無理やり60fps化するものではありません。たとえば本来30fpsで動作しているPS2タイトルの場合、エミュレーター内部では引き続き30fpsのまま動作します。その映像から中間フレームを生成して表示することで、高リフレッシュレート対応ディスプレイ上では、より滑らかな映像として見せる仕組みになっています。
実際、ARMSX2の通常のfpsカウンターには元のエミュレーション速度が表示され、フレーム生成後の実際の表示レートについては専用のパフォーマンスオーバーレイで確認できるようになっています。(github.com)
x2、x3、x4から選択可能
フレーム生成はx2、x3、x4から選択可能です。また、処理負荷を軽減する「Performance mode」も用意されており、こちらを有効にすると軽量な3.1p系シェーダーが使用されます。このモードは標準で有効になっています。(github.com)
さらに「Motion detail」の設定では、オプティカルフローの解析精度と処理速度のバランスを調整することも可能です。生成に必要なシェーダーは一度変換するとキャッシュされるため、抽出・変換処理による負荷が発生するのは基本的に初回のみとなっています。(github.com)
利用には「Lossless Scaling」が必要
ただし、ARMSX2をインストールするだけでフレーム生成が利用できるわけではありません。ARMSX2にはLossless Scaling本体や、その補間シェーダーは含まれていません。ユーザー自身が所有するLossless Scalingの「Lossless.dll」を用意し、PS2のBIOSを登録する場合と同じように、ファイルピッカーからARMSX2へ読み込ませる必要があります。(github.com)
Lossless.dllが設定されていない場合はフレーム生成機能は無効のままとなります。また、この機能を利用するにはVulkanレンダラーに加えて、Adreno 7xx以降のGPUが必要です。Android版についてはGoogle Playで配布されるビルドには搭載できず、GitHubなどから導入するサイドロード版限定の機能となっています。(github.com)
そのため、すべてのAndroid搭載エミュレーション機やスマートフォンで利用できるというわけではありません。
FSR 1によるアップスケーリングにも対応
バージョン2.6.6.7では、フレーム生成だけではなくAMDの「FidelityFX Super Resolution 1(FSR 1)」も出力スケーリング方法として追加されています。ゲームをディスプレイより低い内部解像度でレンダリングしている場合、単純に画面いっぱいまで引き伸ばすのではなく、FSR 1を利用してアップスケーリングできるようになりました。(github.com)
シャープネスも調整可能です。FSR 1有効時は、従来利用できたCASとの併用は行われません。FSR側にもコントラスト適応型のシャープニング処理が含まれており、両方を使用すると二重にシャープ処理が掛かってしまうためです。
こちらもVulkan限定で、「Renderer」→「Display Effects」や、ゲーム中のグラフィックス設定から利用できます。(github.com)
ARM64向けPS2エミュ『ARMSX2』とは?
ARMSX2は、オープンソースで開発されているPS2エミュレーター『PCSX2』をベースにしたARM64向けのフォークです。本家PCSX2ではARM64向けのインタープリター版が用意されていますが、高速動作を実現するEEやIOP、VUなどのJITリコンパイラーは長らくx86-64を中心に開発されてきました。
ARMSX2ではそれらをARM64へ移植し、AndroidやiOSといったモバイル端末に加えて、ARM64版Windows、Linux、macOSなどで高速にPS2をエミュレーションすることを目標に開発されています。(github.com)
今回の2.6.6.7では、Android向けAPKもひとつではなく4種類に分割されました。
Android 8以降向けのARMv8.0版に加え、Android 11、Android 13、Android 15以降向けのARMv8.2版が用意されており、アプリ内アップデーターを利用した場合は端末に適したものが自動的に選択されます。(github.com)
PS2エミュにもフレーム生成の時代?
最近のPCゲームでは、実際にレンダリングするフレーム数を増やすことなく表示を滑らかにするフレーム生成技術が珍しくなくなってきました。それが今回、PS2エミュレーションにも持ち込まれたというのが興味深いところです。
もちろん、補間によって作られたフレームなのでゲームそのものが30fpsから60fpsへ変化するわけではなく、入力レスポンスなどが元のフレームレートから単純に倍増するわけでもありません。
それでも、30fps固定で作られたPS2タイトルなどを高リフレッシュレートの携帯ゲーム機やスマートフォンで遊ぶ場合、見た目の滑らかさを向上させる新しい選択肢になりそうです。
これまでエミュレーターの映像改善といえば、高解像度化やテクスチャフィルタリング、シェーダーなどが中心でした。今後は「フレーム生成」も、レトロゲームを現代的な環境で遊ぶための新たな機能として広がっていくのかもしれません。















ダンジョンズ&ドラゴンズ ビジュアル大全 半世紀を超えるその歴史とアート









ゲームコンソール2.0