Switchエミュレータyuzu開発チームのCaptV0rt3x氏が、実はかねてから開発に取り組んでいた、PCのマルチコアを使い複数のスレッドを並行して処理することでCPUをエミュレートするマルチコアCPUエミュレーション機能「Prometheus」をyuzuに実装したことを公表していました。Patron版のみの実装です。
Prometheusによるマルチコアエミュレートの結果は動画を見れば一目瞭然です。シングルコアとのフレームレート比較でその性能がよく分かります。
もともとyuzuは3DSエミュレータのCitraをベースとして開発が開始された経緯から、カーネルはPCでシングルコアとしての動作しかできないという制限がありました。3DSであればそれで事足りたわけですが、Switchではそれが足かせになっていました。実際のSwitchは4つのマルチコアで複数タスクをスレッドと呼ばれる複数処理能力で並行して処理しています。
そこで考え出されたのが「マルチコアCPUエミュレーション」です。CPUをシングルスレッドでエミュレートするのではなく実機と同じマルチスレッドで処理しようという試みがPrometheus(yuzu開発チーム内でのコードネーム)です。
もともとPrometheusはCitraベースの欠点を補うべくSwitchのオリジナルコードと照合して同様の動作をエミュレートするプロジェクトでしたが、その副産物としてマルチコアのサポートが生まれました。一方でエミュレーションではCPUのみならずGPUも行っているため、今の段階ではGPUがボトルネックとなっているようです。
Prometheusの開発は2月から始まったばかりです。現段階では実用化の目処が付き実装したことを公表した段階で改良はこれから行われると思います。ライフサイクル終盤ではないバリバッリ現行のゲーム機であるにも関わらずPCで十分な動作をするエミュレータというだけでもかなり高い存在意義がある上に、これからのさらなる進化も期待できるので非常に楽しみです。