C#で記述されるオープンソースのNintendo Switchエミュレーター「Ryujinx」の開発者が、自身のブログで開発の進捗(しんちょく)についてまとめています。その中で、2022年11月に発売された「ポケットモンスター スカーレット・バイオレット(ポケモンSV)」にどう対応しているのかについて記しています。

Progress Report November 2022

https://blog.ryujinx.org/progress-report-november-2022/

GPUについては、3DグラフィックスAPIのVulkanを使った表示で問題が発生していることがわかりました。以下はVulkanで表示した画面で、SPIR-Vスケールヘルパーがテクスチャを見つけられなかった問題で、水面の下にある地面にも草が生い茂っています。



問題が解決されて正しくなった表示が以下。



また、AMD製GPU向けのVulkanドライバーであるRADVを使用した環境でも、たまに画面全体が明るく白いフィルターに覆われてしまうことがあったとのこと。これもRyujinxが最初にサンプリングするダミーテクスチャの設定を変更することで修正されたそうです。



そして、発売後のアップデートによって、ポケモンSVのグラフィック関連のバグが修正され、ポケモンの性能を示す六角形のレーダーチャートが正しく表示されない問題が解決したそうです。Ryujinxは「GameFreakが非常に時代遅れのレンダリング方法を採用していたから」と説明しています。



他にも、稀にクラッシュする問題もあったそうですが、パフォーマンス修正のアップデートで修正されたとのこと。

以下は「スーパーマリオオデッセイ」「ポケットモンスター ソード・ソールド」「ゼルダの伝説 ブレスオブザワイルド」「ポケモンSV」「ゼノブレイド ディフィニティブ エディション」で、11月上旬(青)と12月上旬(赤)でRyujinxでの平均フレームレートを比較した棒グラフ。一連のアップデートによってRyujinx全体のパフォーマンスが向上したことがわかります。



さらに、グラフィックだけではなくカーネルやサウンド関連、UIについても修正がされたとのこと。加えて、ついにAppleシリコン環境のmacOSでの動作も確認できたとのことで、Ryujinxの開発スタッフは実際にmacOSでRyujinxを動作させているところをムービーで公開しています。

[Ryujinx Blog] macOS Showcase 1 - YouTube