もう全部Lossless Scalingで(ry dgVoodoo編

  • タグ:#CRT#dgVoodoo#HDR#Lossless Scaling#フレーム生成

  • まえがき

    ~これまでのあらすじ~

    この記事書こうと思ってたら急にAFMF2が来た。

    進化凄かったけど生成頻度のほうが重要なのでロスレス使います…

    以上。


    なぜにdgVoodoo

    アプスケやFGが必要なだけならDX9ゲーだろうとわざわざdgVoodooを併用する必要はありません。 なのになぜ併用するのかというと、このサイトで度々話に出るWindowsオートHDR強制適用の裏技とフレーム生成を併用したいからです。

    ロスレス環境でDX9ゲーにWindowsオートHDRを使う場合、実際にはレジストリにロスレスを登録するだけで可能です。 が、それだとおそらくHDR対応ゲームでの利用に支障が出てしまうので、dgVoodooの個別導入で対応します。

    基本的な使い方

    各種ツールのダウンロードまたはインストールは完了しているものとします。

    dgVoodooの設定ファイルを作成するためにdgVoodooCpl.exeを起動してください。

    起動後にGUI上の何もないところで右クリックし、Show all sections of the configurationを有効にして拡張設定の変更を可能にします。

    01

    その後General, DirectX, GeneralExtの各タブにおいて、何も考えずに以下画像のように設定してください。

    02

    これがdgVoodooを導入したゲームで、Lossless Scalingを動かす際の最小設定だと思ってください。 ApplyもしくはOKでdgVoodoo.confに変更を適用し、ラッパーのDLLとともにAPI変更対象のゲームフォルダにコピーします。

    以前の記事を参考にゲームをWindowsオートHDRの対象とすれば、DX9のゲームでオートHDRとロスレスによるフレーム生成が併用できるはずです。

    拡張設定内にあるFullscreen mode attributesが非常に重要で、Fakeにチェックを入れないと、ほとんどの場合フルスクリーン時にLossless Scalingで描画できません。 dgVoodoo公式によればDX12モードでは、フルスクリーンはボーダーレス表示で固定とのことなので、本来ロスレスなら普通に表示できるはずです。 が、APIを無理矢理置き換えているためなのか、以下のようにブラックスクリーンになることがほとんどでした。

    03

    なおこれはフルスクリーンで動作させる場合の話であり、ウインドウ表示をロスレスでスケーリングする場合は、Fakeにチェックを入れずとも正常に動作します。

    とりあえず使うだけの場合は、ここまでの手順で作業は終了です。


    応用編

    先ほどウインドウ表示をスケーリングすればFake設定は不要と書きましたが、ウインドウ表示をロスレスでスケーリングする場合、正直言って先の手順はほぼ全部不要です。

    それでもあの設定をしたのには理由があり、dgVoodooにあるCRTエフェクトを利用する場合にこのほうが都合が良いためです。

    04

    大昔のゲームなら基本的な使い方で設定した.confから上記のようにScaling modeを変更すれば大体のゲームで使えます。 比較的新しめのDX9ゲーだとフルHD対応されていることもあるので、そういったゲームでは一つ上のkeep Aspect Rarioを選びます。

    CRTエフェクトを使う場合、エフェクトのかかり方は以下のように画面サイズに依存します。

    05

    ウインドウモードのほうはロスレスのスケーリング方法を直近にして引き延ばしています。

    フルスクリーンのほうはdgVoodooCplのDirectXタブ内にあるResolutionで設定した解像度をもとに、内部解像度が決定されます。 上記設定でMAXとした場合は、現在利用中のモニタ解像度設定がそのまま適用されます。 ここで1024x768等に設定すれば、そのサイズをもとにエフェクトが掛かるようになります。 ただしかなりボケた画面になるため、画面解像度以下で使う場合、ウインドウモードで指定できる画面サイズの範囲でどうにかしたほうがいいです。

    上記画像のどちらがいいかは人による…てかぶっちゃけほとんどの人はウインドウを選ぶと思いますが、択を増やすという意味で上記のような対応をしました。

    これでWindowsオートHDR、dgVoodooのCRT、ロスレスのフレーム生成を併用することができます。


    あとがき

    という訳で、Lossless Scalingとフルスクリーン時のdgVoodooの併用と、dgVoodooのCRTを用いる場合の記事でした。

    本来記事はここまでで終了だったのですが、ソフトクラッシュのリスク増加とGPU負荷の上昇を許容できる場合において、

    もっと良い方法を見つけたので、

    次回はその記事となります。

    それでは…