Windows11 24H2でのLossles Scalingについて

  • タグ:#Lossless Scaling#Magpie#フレーム生成

  • ※2024/10/15追記 24H2においてのMagpieに関してもちょっと追記

    ※2024/10/13追記 結局気になって突撃して無事轟沈したので、それに関して大幅追記

    24H2でロスレスは使えるのか

    今月初めにWindows11 24H2がリリースされました。

    ロスレスユーザーとしては正常に使えるかが気になるところですが、検索すると人によって使えたり使えなかったりと微妙な感じです。

    結論から申し上げますと、博打を打ちたくないならしばらく待てということになりそうです。

    マルチモニター環境の場合、多分上げないほうがいいです。

    詳細は後述します。


    24H2に関する開発者からの投稿

    本日ロスレススケーリングのベータ版2.11.1がリリースされており、それと同時に開発者から以下の投稿がありました。

    この内容を雑に意訳したものが以下になります。

    Windows11 24H2ではDXGIの仕様変更があり、MPO(マルチプレーン オーバーレイ)サポートに大きく依存するようになった。 これに対応していない環境でゲームとロスレスが同じモニターに表示されると、DXGIは各ソフトの更新を区別できず、結果新しいフレームのキャプチャが不可能になる。

    MPOのサポート状況は各システム環境によって異なり、dxdiagを使えばサポート済みかが分かる。 一見非対応でもデュアルモニター環境の場合はディスプレイを1枚にすると、MPOのサポートを強制するようになる場合もある。

    今後MSがさらに仕様変更するか、各社GPUドライバがMPOサポートを改善しない限り、24H2以降でのDXGIはド安定のキャプチャ方法ではない。

    一方WGCは5年前から存在した、新規フレームの更新のキャプチャが不可能な問題が修正された。 WGCによるキャプチャには利点もあり、その一つはDXGIのようにHDRサポートの切り替えを行う必要がないこと。 ただしMPO非対応のため、カーソルが表示されるゲームでフリップモード強制無効化による遅延増加や、FreeSyncで問題発生のリスクあり。

    結局MPO拡充されないとどうにもならん、サポートはよ。

    雑すぎる気もしますが、大体こんな内容です。

    環境依存の話になるため、DXGIでロスレスが正常に使えるかは、人によるとしか言えないのが現状ようです。 このベータでの更新は24H2のWGC周りの対応と、翻訳で省いたローカライズの追加のみであると思ったほうがいいでしょう。

    この投稿によるとdxdiagでMPO対応状況が確認できるとありますが、ぶっちゃけ見方がよくわかりません。 診断結果をtxt出力したものの中にMPO Capsなどそれっぽい記述はありましたが、どれが何なのか…

    23H2でこの確認を行っても意味はありませんでした。

    01

    なんにせよやむを得ない事情がない限り、24H2への更新はまだ控えるべきでしょう。 これ見た私も流石にまだ更新しようと思えません。

    もしすでに24H2に更新していて、ロスレスがDXGIで正常に機能しない方が居る場合、このバージョンからはWGCに変更すれば対処できるかもしれません。

    結局その後上げましたが、マルチモニター時の無事DXGIが死にました。

    WGCでのHDRについて

    上記にあるHDR関係の記述ですが、確かにWGCだとHDR対応を常時オンで問題ないようです。

    02

    上記画像のように設定するだけで、モニタの表示状態がHDR, SDRどちらの場合もロスレスで正常に表示できました。 HDR対応ゲームだがSDRでもプレイする場合など、用途は限定的だと思いますが非常に楽ですね。

    でも先述の問題点無視してまで使いたいかっていうと、うーん…


    ※10/13追記 実際に24H2に上げてみた

    どうも上記画像のような記載があればMPOは有効化されているようです。

    23H2で全ディスプレイこの状態なら上げても問題ないのでは?と思い実践してみました。

    03

    このザマである。

    MPO関係が全てNotSupportedに変わっていました。 もちろんロスレスをDXGI動作にすると、フレーム生成はまともに機能しません。

    上記Steamコミュニティにレジストリ変更でどうにかなるかもという書き込みがありますが、私の場合は何の効果もありませんでした。 勿論GPUドライバのクリーンインストールも行いましたが、これも効果なし。

    開発者の言にある通りモニター一枚だけを接続すると、以下のようにMPO関連が記述されました。

    04

    23H2時点と若干内容が変わっていますが、何を意味するのかは正直よくわかりません。 MPO FormatがNot Supportedのままになっているので、これがMPO強制適応状態ということでしょうか。

    この状態ならばキャプチャAPIがDXGIでも正常に機能しましたので、シングルモニター環境であれば、この件で影響を受けないかもしれません。 ただし私がモニター1枚だと動くのを確認したのは、上記レジストリ編集とドライバ入れ直しを行った後なので、いずれかの手順を踏まないと正常に使えない可能性はあります。

    逆にマルチモニターの場合は、23H2でMPOが有効になっているように見えたとして、24H2でもそのまま有効である保証は一切ありません。 23H2上でdxdiagによるMPOの有効化を確認する意味はなさそうです。 私の場合は別社モニターをそれぞれHDMIとDispralayPortで接続しているため、同一モニターを全てDP接続した場合のことまでは分かりません。 ですが少なくともラデオンGPUを使ったマルチモニター環境では、まだ24H2にしないほうがいいでしょう。

    あと、24H2でもベータ版のWGCなら、とりあえずフレーム生成は使えました。 軽くしか試していないので常用に耐えうるかは不明ですが、とりあえずこれで凌ぐことにします。 また数時間かけて23H2に戻すのも億劫なので…

    Magpieについて

    スケーリング部分で対抗と呼べるMagpie(v0.11.1)も、当環境だとGraphics Captureの挙動が妙です。 どう設定しても55fpsに強制されます。なぜこの値なのか理由は不明。 この場合モニター1枚のみの接続にしても解決しませんでした。

    私以外にMagpieを24h2で動かした話が見つからないので、この件が俺環かどうかも不明です。 まさかGithubにも一切無いとは…

    遅延は若干増えますが、DwmSharedSurfaceは従来通り機能するようなので、これで対処するしかなさそうです。 古いゲームならGDIも可。


    あとがき

    かなり短いけど以上。

    日本語での情報共有ってことで、とりあえずここに残しておきます。

    国内のロスレス使いだとまだ上げない人のほうが多そうなので、意味があるかは微妙。

    思ったより居たのでつられて上げちゃった。

    ロスレスのホットキー動作が妙にもっさりするのも気になるけど、 使ってたOSD表示の時計ソフトがサブモニターに表示できなくなったことに一番キレそう。 別のもん探すか…

    なんか知らんけど多分治りました。アプデ直後だけ妙に調子悪かった模様。