ゲームの技術開発を注意深く追っていない場合は見逃してしまうかもしれませんが、AMD、Nvidia、そして現在の Intel によるアップスケーリング技術は実際には革命的です。これらを使用すると、ゲームは内部的に低解像度 (例: 1477x831) で実行され、グラフィックス カードが画像を個別にターゲット解像度 (ここでは 1920x1080) までスケールアップします。そして結果は素晴らしく見える。このアプローチはもともと 4K 解像度をより実現しやすくするためのソリューションとして提案されましたが、私は上記のシナリオの方がはるかに快適だと感じています。これにより、古いグラフィックス カードの負荷が軽減され、突然最新の AAA ゲームをより適切に処理できるようになります。 GPU を使用したスケールアップは実質的に無料ですが、内部解像度をスケールダウンすると多くの労力が節約されます。
これが完全に機能するためには、ゲームがこれらのテクニックをサポートしている必要があります。しかし、Linux では、開発者は AMD のアップスケーリングである無料の FSR に飛びつきました。最初のバージョンはどのゲームにも接続できます。少なくとも少し手伝ってあげれば、驚くほど良い結果が得られることもあります。そこで vkBasalt が活躍します。
要するに
Proton-GE と vkBasalt をインストールし、オプションで Mangohud をインストールします。 vkBasaltに使用この構成。次のように Windows ゲームを開始します。
mangohud ENABLE_VKBASALT=1 WINE_FULLSCREEN_FSR=1 WINE_FULLSCREEN_FSR_MODE=ultra %command%
ゲーム内解像度を、モニターのネイティブ ターゲット解像度の FSR 開始解像度に設定します (テーブルはこちら)。完了すると、ゲームは以前よりも速く実行されます。
詳細な手順は次のとおりです。
FSRをアクティブ化する
しかし、まず最初にFSRを取得する必要があります。 Valve はこれを Steamdeck に搭載していましたが、通常の Proton には搭載していませんでした。これには依然として代替プロトン変異体が必要です。GloriousEggrolls プロトン。インストールは次のようになります。
- からリリースをダウンロードします。リリースページ。
- ~/.steam/root/compatibilitytools.d ディレクトリが存在しない場合は作成します。
- リリース tarball を ~/.steam/root/compatibilitytools.d/ に抽出します。
- tar -xf GE-ProtonVERSION.tar.gz -C ~/.steam/root/compatibilitytools.d/
- Steamを再起動します。
- protonge-custom を有効にする。
しかし、それは不必要に複雑になる場合があります...ProtonUp-Qt数回クリックするだけで完了します。したがって、そこから AppImage を取得し、実行可能にし、Proton-GE にインストールさせます。
これはSteam設定で行うことができますスチームプレイすべてのゲームに対して有効にすることも、「互換性」で各ゲームの Proton バージョンを設定することもできます。
FSR でゲームを開始するには、開始パラメータを設定する必要があります。 Steam でゲームを右クリックし、プロパティを選択すると、右側に開始オプションが直接表示されます。そこに次のように書きます。
WINE_FULLSCREEN_FSR=1 WINE_FULLSCREEN_FSR_MODE=ウルトラ %コマンド%
ゲームを開始すると、すべてが正常に動作しますが、FSR はまだ何も行いません。これを行うには、まず解像度を変更する必要があります。 FSR コマンドから始めると、適切なコマンドが設定に表示されるはずです。私の 1080p 解像度の場合、これは 1477x831 であり、1440p または 4K の場合、ターゲットはそれに応じてそれ以上になります。これに最適なリストを見つけることができますここ。この解像度が選択されている場合、FSR が有効になります。画像は少し色あせて見えますが、解像度が自動的にアップスケールされなかった場合よりもはるかに良くなります。
vkBasaltをアクティブにする
この色褪せた画像は、週玄武岩あなたを助けるために。プログラムは、プログラムの出力に対してフィルターを描画します。私たちにとって特に興味深いのは、2 つの方法を使用して画像を鮮明にすることができ、2 つのアンチエイリアシング フィルターも備えていることです。
vkBasalt は手動でインストールできます。次のように動作します。
git clone https://github.com/DadSchoorse/vkBasalt.gitcd vkBasaltmeson --buildtype=release --prefix=/usr builddirninja -C builddir install
繰り返しますが、これは必要ありません。一部のリポジトリにはすでに存在しているため、パッケージ マネージャーを介して直接インストールできます。 Void Linux を使用している私の場合:
sudo xbps-install vkBasalt
しかし、設定がまだありません。 Readme で説明されているゲームを使用することもできますが、代わりにファイルを使用します。$HOME/.config/vkBasalt/vkBasalt.confこれを作成して記入します。
#エフェクトは、使用するエフェクトのコロンで区切られたリストです#例: Effects = fxaa:cas#エフェクトは左から右の順序で実行されます#1 つのエフェクトを複数回実行できます。 smaa:smaa:cas#cas - コントラスト適応シャープニング#dls - ノイズ除去された輝度シャープニング#fxaa - 高速近似アンチエイリアシング#smaa - 強化されたサブピクセル形態学的アンチエイリアシング#lut - カラー ルックアップ TableEffects = smaa:dlsreshadeTexturePath = "/path/to/reshade -shaders/Textures"reshadeIncludePath = "/path/to/reshade-shaders/Shaders" DepthCapture = off#toggleKey はエフェクトのオン/オフを切り替えますtoggleKey = Home#enableOnLaunch は開始時にエフェクトが有効かどうかを設定しますenableOnLaunch = True#casSharpness は、 CAS シェーダでのシャープニング。#0.0 シャープさが低く、アーティファクトが少ないが、オフではない#1.0 最大シャープでアーティファクトが多い#その間のすべてが可能#負の値でもシャープさがさらに低くなり、-1.0 までは目に見える違いが生じますcasSharpness = 0.3#dlsSharpness は、ノイズ除去されたルマシャープニングシェーダのシャープネスの量。#増加すると、イメージ内の細部がシャープになります。#0.0 シャープさが低く、アーチファクトが少なくなりますが、オフではありません#1.0 最大シャープネスが高く、アーチファクトが増加します。dlsSharpness = 0.5#dlsDenoise は、ノイズ除去されたルマシャープニングのノイズ除去の量を指定します。 shader.#イメージ内のフィルム グレインがどの程度強くシャープ化されるかを制限するには、増加させます。#0.0 min#1.0 maxdlsDenoise = 0.8#fxaaQualitySubpix はシャープネスに影響を与える可能性があります。#1.00 - 上限 (ソフト)#0.75 - デフォルトのフィルタリング量#0.50 - 下限(より鮮明で、サブピクセルのエイリアシング除去が少ない)#0.25 - ほぼオフ#0.00 - 完全にオフxaaQualitySubpix = 0.75#fxaaQualityEdgeThreshold は、アルゴリズムを適用するために必要なローカル コントラストの最小量です。#0.333 - 少なすぎる (高速)#0.250 - 低品質# 0.166 - デフォルト#0.125 - 高品質 #0.063 - 過剰な(遅い)fxaaQualityEdgeThreshold = 0.1#fxaaQualityEdgeThresholdMin は、暗部の処理からアルゴリズムをトリミングします。#0.0833 - 上限(デフォルト、フィルタされていない目に見えるエッジの開始)#0.0625 - 高品質(高速) #0.0312 - 表示制限 (遅い)#特記事項: 現在の実装により、#これをゼロに設定する必要があります。#ほとんどが緑ではない色として、#緑チャンネルでは非常に暗く表示されます!#見て調整してください緑以外のコンテンツがほとんどの場合、#その後ゼロから開始し、エイリアシングが問題になるまで増加させます。fxaaQualityEdgeThresholdMin = 0.0312#smaaEdgeDetection はエッジ検出シェーダーを変更します#luma - デフォルト#カラー - より多くのエッジをキャッチできる可能性がありますが、コストが高くなりますsmaaEdgeDetection = luma#smaaThresholdエッジに対するしきい値または感度を指定します#この値を下げると、パフォーマンスを犠牲にしてより多くのエッジを検出できるようになります。#範囲: [0, 0.5]#0.1 は妥当な値であり、ほとんどの目に見えるエッジをキャッチできます。#0.05 smaaThreshold = 0.05#smaaMaxSearchSteps は、水平/垂直パターン検索で実行される最大ステップを指定します#Range: [0, 112]#4 - low#8 - middle#16 - high#32 - UltrasmaaMaxSearchSteps = 32#smaaMaxSearchStepsDiag は、対角パターン検索で実行される最大ステップを指定します#Range: [0, 20]#0 - low、medium#8 - high#16 - UltrasmaaMaxSearchStepsDiag = 16#smaaCornerRounding は、鋭いコーナーの量を指定します四捨五入されます#範囲: [0, 100]#25 は妥当な値ですmaaCornerRounding = 25#lutFile は使用される LUT ファイルへのパスです#サポートされているのは .CUBE ファイルと .png (width == height * heightlutFile = ") /パス/へ/lut"
テスト ゲーム用の Steam 開始パラメータも追加しています。ENABLE_VKBASALT=1
、つまり、次のようになります。
ENABLE_VKBASALT=1 WINE_FULLSCREEN_FSR=1 WINE_FULLSCREEN_FSR_MODE=ウルトラ %コマンド%
キーボードのホーム ボタンで vkBasalt が無効になり、効果がはっきりと見えるようになり、ホームで再び有効になります。標準の FSR アップスケーリングの色褪せた側面はなくなりました。
MangoHud、オプション
写真の違いがあまり信用できない場合は、全体をたどることができますマンゴーハッドチェック。これは私の情報源にもありました:
sudo xbps-install MangoHud
手動によるインストール手順はここでは省略します。プリコンパイルされたリリース ファイルも含め、Github ページで詳しく説明されています。
Mangohud も設定したいと考えています。に入れてください$HOME/.config/MangoHud/MangoHud.confこの内容:
### MangoHud 設定ファイル### 現在の GPU 情報の表示gpu_stats### 現在の CPU 情報の表示cpu_stats### FPS とフレームタイムfpsframetime### フレームタイム ラインの表示graphframe_timing### GameMode / vkBasalt 実行ステータスの表示vkbasalt### 表示現在の解像度resolution### デフォルトで hud を無効化/非表示にするno_display################ 回避策 ################### "gl_*" で始まるオプションは OpenGL 用です。### 表示サイズを取得するために使用するものを指定します。オプションは「ビューポート」、「シザーボックス」、または無効です。デフォルトでは glXQueryDrawable# gl_size_query=viewport### を使用し、MangoHud が描画される前に指定されたフレームバッファを (再) バインドします。 Crusader Kings III に役立ちます# gl_bind_framebuffer=0### GL_UPPER_LEFT を使用している場合は原点を交換しないでください。 Ryujinx のヘルプ# gl_dont_flip=1################ インタラクション #################### Hud の切り替えキーバインドを変更する& ロギング# toggle_hud=Shift_R+F12# toggle_fps_limit=Shift_L+F1# toggle_logging=Shift_L+F2# reload_cfg=Shift_L+F4# Upload_log=Shift_L+F3
これはほぼ標準ですが、vkBasalt および解像度検出オプションが有効になります。開始パラメータを調整します。
mangohud ENABLE_VKBASALT=1 WINE_FULLSCREEN_FSR=1 WINE_FULLSCREEN_FSR_MODE=ultra %command%
ここで、右 Shift + F12 を押すと、左上にボックスが表示され、フレーム時間と FPS だけでなく、解像度 (ゲームがより低く設定している場合でも、1920x1080 または FSR が有効になっているときのターゲット解像度) も表示されます。内部的に 1 つ)、vkBasalt がオンになっているかどうかです。 Shift_R + F12 を押すと、ボックスが再び非表示になります。
画質に関する議論
今の絵はどれくらい良いですか?ここでメトロ エクソダスとの比較写真をいくつか撮りました。まず第一に、目標は優れた 1080p 品質ですが、これは高い設定を意味するものではありません。
私の (非常に単純な) テスト シーンでは、システムは 70 FPS から 94 FPS の間で変動しました。
残念ながら、FSR をウルトラ モード、つまり内部的に 1477x831 にすると、全体の鮮明さが大幅に低下します。
FPS は向上しており、私のテストでは 80 ~ 106 FPS でした。これは最も低い FSR レベルであり、他のレベルでは内部解像度がさらに低下し、パフォーマンスが向上します。
そして最後に、vkBasalt を含む Ultra-FSR を使用した画像:
これは、ネイティブ 1080p 解像度の品質にはまったく達しません。同じように辛くないわけではありません。ただし、FSR では、線が丸くなり (特に、ここでは表示されていない HUD で)、画像上にグレーの粒状効果が生成されます。残念ながら、vkBasalt によるシャープニングはこれに対しては機能しません。それにもかかわらず、vkBasalt は画像を大幅に改善し、顕著なぼやけがなくなりました。
vkBasalt のパフォーマンスは少し悪く、FPS は 80 ~ 100 の間でした。
一方で、vkBasaltを使用したFSRを導入したいと思いました。 Linux がプレーヤーに素晴らしいチューニング オプションを提供する、鮮明化フィルターとしての FSR と vkBasalt の組み合わせがこれほど頻繁に議論されるのは見たことがありません。 Proton を経由する迂回路は、ゲームに少なからぬ後押しを与える予期せぬ機会を生み出します。確かにグラフィックの品質は犠牲になりますが、プレーヤーの種類によってはそれだけの価値があります。
しかし、私が特に関心があるのは、構成内のエラーです。 vkBasalt に代わる良い代替品はあるのでしょうか? 2 つのシャープネス フィルター cas と dls を組み合わせて使用するのは理にかなっていますか? SMAA の代わりに FXAA を使用する必要がありますか?もちろん、すでにいくつかのことを試しましたが、上記の構成が最適であるかどうかは決してわかりません。私はそれが良い出発点であると確信しています。
結論として、このすでに興味深い結果が FSR の最初のバージョンを使用しているというアイデアにも魅力を感じています。 DLSS 2.0、FSR 2.0、XeSS は大幅に優れています。 XeSS のようなものを開発者の努力なしで使用できるようにし、それをあらゆるゲームと組み合わせることができれば...