Nintendo Switchのシステム描画戦略の予想

  • 追記: TVのオーバスキャンを考慮して表示領域を縮小する機能を備えているが、PS4と異なり画面全体が(システムUI含め)縮小される。また、ARIB標準( http://d.hatena.ne.jp/mjt/20150726/p1 )の90%デフォルトではなく100%デフォルトとしている。このとき、スクリーンショットはどのような設定でも100%分描画されるため、ディスプレイコントローラによる縮小であると考えられる。

描画のバッファ戦略

Switchがシンプルな1画面コンソールとなったことで、XboxOne、PS4、Switchの各コンソールでシステム描画戦略は横並びと言って良い状況になった。つまり、

の3画面ぶんのメモリを用意し、ハードウェアで合成表示する。(注: 予想)


SwitchではHOMEメニューは(1)ゲームフレームバッファに描かれ、HOMEボタン長押しで表示されるクイック設定やオンライン通知等のゲーム画面にオーバーレイ表示されるものは(2)システムフレームバッファに描かれていると考えられる。キャプチャーボタンで撮られるスクリーンショットは(1)ゲームフレームバッファを(3)ゲーム画面キャプチャ用の一時バッファにコピーしてjpegとして保存することになる。
(このような複雑なバッファリングを行えるようにしておかないと、動画のキャプチャをサポートできない -- (1)ゲームフレームバッファの更新タイミングは完全にゲーム任せであるため、圧縮中に絵が失われないようにコピーを持つ必要がある。)
おそらくメモリ的な都合で(3)一時バッファは720pのものしか確保されておらずスクリーンショットや"オーバーレイされているように見える"いくつかのダイアログでゲーム画面が720pとなっている要因となっているように見える。このため1080pでのSwitchのUIは多少違和感のあるものになっている -- ブラーのフェードイン/アウトで画面がズレたように見える等、ゲームのレンダリング解像度とキャプチャ用のバッファ解像度が一致しないことによる。SwitchのUIは多岐にわたって720pを前提としているため、特にゲームと平行動作する場合のメモリやUI自体のフレームレートなど何かしらの割り切りとして1080pネイティブのUIを切っているのではないかと思う。
(これは殆どのシチュエーションでは問題無いが、1080pレンダリングでかつチェッカーボードやディザのようなモアレを引き起すパタンで描いていると問題になるかもしれない。)
最終出力をスクリーンショットとするPS4と違い、Switchでは通知やクイック設定等はスクリーンショットにうつりこむことが無い。
細かい挙動を見ていると、SwitchではeShopを除くダイアログ等をゲームに描画させているように見える。つまり、

  • スクリーンショットにはそのまま映る
  • ゲームの実行は継続される (= ネットワーク動作やBGMが中断することはない)
  • ゲーム内で表示されるダイアログの下には720pとなったゲーム画面が敷かれているが、こちらは動かない

(実際には、ゲーム内のV-SyncハンドラでAPIを1つ呼ぶ程度には抽象化されている可能性が高い。)
これは、将来Switchが動画のキャプチャや配信に対応した場合により明かになると思われる。実際にゲームに描画させているとするとキャプチャにはプロファイル画面等が映り込んでしまうため、追加の配慮が必要になる。

  • オンラインでのプレーヤー情報ダイアログ。フレンド申請等の機能を持ち、背景には720pのゲーム画像が置かれる。


ダイアログには、コントローラ接続ダイアログのようにゲーム画面がブラーされるものと、プレーヤー情報ダイアログのようにゲーム画面がブラーされないものの2種類がある。コントローラ接続ダイアログは情報量が多いのと頻繁に表示されないといった特徴があるためブラーの適用が望ましいと言える。オンラインプロファイルは頻繁に表示され、しかもフレンド申請やブロックのような重要な機能への動線ともなっているため、フェード時間を減らし、ゲーム画面からはあまり浮かないように考慮されていると考えられる。
全体に、Switchのシステム描画戦略は合理的で、プラットフォームの快適さに寄与していると言える。既存のSTB類と比べてもゲーム専用機としての強みを十分に発揮しているように見える。(FireTVのようにゲーム用のimposeが異常に遅いプラットフォームも実際に存在する)
完全な分離と重ね合わせを実現しているPS4やXboxOneと比べても違和感の少い仕様を実現しており、それなりの完成度をシステムとして既に備えている。逆に、この完成度を持ちながら720p前提の箇所が多々存在することは謎として残ることになる。システムの企画当初が720p専用(= 携帯専用)であったり、単純に確保するシステムリソースを減らす必要性といった可能性は考えられる。