Terminal: ターミナル使用時にGSync / Freesyncリフレッシュレート/ FPSが低下する

作成日 2019年05月10日  ·  128コメント  ·  ソース: microsoft/terminal

私のメインモニターは144Hzです。 現在のFPSを確認する簡単な方法は、マウスを小刻みに動かすことです。144FPSでの動きは60 FPSよりもはるかにスムーズであり、これは非常に目立ちます。

ターミナルの使用中、FPSは常に低下し、低FPSとフル144FPSの間を移動します。 60 FPSに低下するのか、それとも別の量に低下するのかはわかりませんが、144FPSよりもはるかに低くなっています。 入力中にカーソルを振ると、この問題がよくわかります。

ターミナルとのすべての対話により、FPSが低と高の間で「反転」する可能性があるようです。ウィンドウに焦点を合わせたり、入力したりします。FPSが高に戻るには、3秒待つだけで十分な場合があります。

グラフィックカードはNvidia GTX 1080 Ti 、モニターはAsus PG279Qです。

C:\WINDOWS\system32>ver

Microsoft Windows [Version 10.0.18362.86]
Area-Rendering Help Wanted Issue-Bug Priority-2 Product-Terminal v1-Scrubbed

最も参考になるコメント

私は過去数日間、これと同じ問題に取り組んできました。 私がこれまでに見つけた唯一の修正は、WindowsターミナルのG-Syncを無効にすることです。

  1. NVidiaコントロールパネルを開きます。
  2. 左側で、[3D設定の管理]を選択します。
  3. [プログラム設定]タブを選択します。
  4. ドロップダウンのプログラムのリストにWindowsターミナルアプリを追加する必要があります。
  5. ボックス内のオプションの1つに、G-Syncが有効になっていることが表示されます。 無効にします。
  6. 変更を適用します。

ただし、これは問題のみを扱い、ソースは扱いません。 これまでに他のUWPアプリでこの問題が発生したことはないため、これはWindowsターミナルの問題である可能性があります。

Nvidia GTX 1080Tiとこの144hzDellG-Syncモニターで問題が発生しました。 最新のNvidiaドライバーがインストールされていることを確認しましたが、プレリリースドライバーは試していません。

全てのコメント128件

開発チームの誰もが144Hzモニターを持っているとは思わないので、コミュニティの誰かがこれをデバッグするのを喜んで手伝ってくれるなら、助けていただければ幸いです。

私は過去数日間、これと同じ問題に取り組んできました。 私がこれまでに見つけた唯一の修正は、WindowsターミナルのG-Syncを無効にすることです。

  1. NVidiaコントロールパネルを開きます。
  2. 左側で、[3D設定の管理]を選択します。
  3. [プログラム設定]タブを選択します。
  4. ドロップダウンのプログラムのリストにWindowsターミナルアプリを追加する必要があります。
  5. ボックス内のオプションの1つに、G-Syncが有効になっていることが表示されます。 無効にします。
  6. 変更を適用します。

ただし、これは問題のみを扱い、ソースは扱いません。 これまでに他のUWPアプリでこの問題が発生したことはないため、これはWindowsターミナルの問題である可能性があります。

Nvidia GTX 1080Tiとこの144hzDellG-Syncモニターで問題が発生しました。 最新のNvidiaドライバーがインストールされていることを確認しましたが、プレリリースドライバーは試していません。

ターミナルのG-Syncを明示的に無効にした後(および再起動した後)、確認できます
それ)問題はなくなりました。 これは症状ではなく症状を治療することに同意しました
問題。 少なくとも、回避策があります:+1:

16:27時金、2019年5月10日にはmblowey [email protected]書きました:

私は過去数日間、これと同じ問題に取り組んできました。 唯一の修正
これまでのところ、G-Sync for WindowsTerminalを無効にすることであることがわかりました。

  1. NVidiaコントロールパネルを開きます。
  2. 左側で、[3D設定の管理]を選択します。
  3. [プログラム設定]タブを選択します。
  4. Windowsターミナルアプリをのリストに追加する必要があります
    ドロップダウンのプログラム。
  5. ボックス内のオプションの1つに、G-Syncが有効になっていることが表示されます。
    無効にします。
  6. 変更を適用します。

ただし、これは問題のみを扱い、ソースは扱いません。 一度も食べたことがない
他のUWPアプリには以前にこの問題があったため、これはWindowsターミナルである可能性があります
問題。

Nvidia GTX 1080Tiとこの144hzDellで問題が発生しました
G-Syncモニター
https://www.dell.com/en-us/shop/dell-24-gaming-monitor-s2417dg/apd/210-aizs/monitors-monitor-accessories
最新のNvidiaドライバーがインストールされていることを確認しましたが、まだインストールしていません
プレリリースドライバーを試しました。


スレッドを作成したため、これを受け取っています。
このメールに直接返信し、GitHubで表示してください
https://github.com/microsoft/Terminal/issues/649#issuecomment-491288003
またはスレッドをミュートします
https://github.com/notifications/unsubscribe-auth/AAJ4X3HNJEYYNFGNVJEUF7LPUVZ2TANCNFSM4HL63MAQ

こっちも一緒。 私はGsync画面とカードを持っていますが、ターミナルは狂ったように遅れています。 私のかわいそうな165hzスクリーン:(

ここでも同じです。 165hz G-Syncモニター、GTX 1070、ターミナルの低FPS。

144Hz G-Sync互換(FreeSync)ディスプレイがあります。 ウィンドウ(フルスクリーン以外)アプリケーションでG-Syncが有効になっている場合にも、低FPSの問題が発生しました。

私のモニターにはFPSインジケーターがあります。 ターミナルを実行したときにFPSが変化することを示すビデオを録画しました。 端末にフォーカスがない場合、FPSは144です。端末がフォーカスを取得すると、FPSは通常48(ディスプレイのVRRリフレッシュレートの下限。VRR:可変リフレッシュレート)であり、コンテンツが更新された後、再び最小リフレッシュレート(48FPS)に戻ります。

私のビデオ:
https://youtu.be/wokdiOQzwnU
フォーカスの喪失(画面が湾曲しているため)とバックグラウンドノイズ(ミュートできます)はご容赦ください。

HEVC 240FPS(低ビットレート)のビデオファイルをここからダウンロードすることもできます。
http://qiniu.img.hu60.cn/file-hash-mp4-fb6775bfceeb0577b7244c58851f85a983686237.mp4

注:このモニターはNvidia互換性テストに合格していないため、VRRリフレッシュレートが大幅に変動するとちらつきやジッターが発生します。 認定されたG-Syncディスプレイにはジッターがない場合がありますが、リフレッシュレートが低い場合の入力遅延(マウスの移動速度)は明らかです。


ビデオのFPSの変更から、Windowsターミナルは典型的なVRRに適さないGPUアクセラレーションアプリケーションです。 このようなアプリケーションは通常、コンテンツが更新されていない場合は何も描画せず(FPSが0の場合、Nvidiaドライバーはタイムアウト再描画メカニズムをトリガーしてディスプレイの最小リフレッシュレートを維持します)、コンテンツが更新された場合にのみ描画します(リフレッシュレート一時的に上昇します)。

このようなアプリケーションでは、ローエンドのVRRディスプレイ(通常は初期のG-Sync / FreeSyncディスプレイ)がちらつき、VRRがオンになると入力遅延が大幅に増加します。

現在の状況から、WindowsターミナルのVRR(G-Sync)を無効にすることが唯一の正しい選択です。


参考:VRRが一部のシーンでちらつく理由
https://pcper.com/2014/12/a-look-into-reported-g-sync-display-flickering/

そのため、G-Sync対応モニターで同じ問題が発生し、コードを調べた後、原因を絞り込むことができました。 なじみのないG-Syncは、モニターのリフレッシュレートを画面のフレームレートと同期させるNVIDIAテクノロジーです。

この特定の問題は、G-Sync対応システムのNVIDIAコントロールパネルでウィンドウモードおよびフルスクリーンモードに対してG-Syncオプションを

image

フルスクリーンモードでオプションを

FPSが低い(およびリフレッシュが低い)のは、パフォーマンス上の理由で画面が変更のためにのみ再レンダリングされるためと思われます。 アイドル状態では、カーソルの点滅によってのみ画面が更新され、FPSが約42低下します。入力を開始すると、フレームレートが高くなり、リフレッシュレートの変化を視覚的に確認できます。

これは、それを解決するためのいくつかのオプションがある、やや珍しい状況です。

  • G-Syncを有効にしてWindowsターミナルを使用する場合は、ウィンドウモードオプションを無効にします(理想的ではありません)
  • サイクルごとに画面を再描画して、ウィンドウのFPSをモニターの最大リフレッシュレートに上げます(これもタンクのパフォーマンスになるため、理想的ではありません)
  • Nvidiaに、Windowsターミナルのドライバーに例外を追加するように依頼します(可能かどうかはわかりません)。

テストするハードウェアがありませんが、これはFreeSyncモニターでも問題になる可能性があります。 今のところ簡単な修正は、NVIDIAコントロールパネルのフルスクリーンモードでG-Syncオプションを

他の人が述べているように、最善の解決策は、このアプリのためだけにGSyncを無効にする端末のアプリケーションプロファイルを作成することです。 NVIDIAは、ドライバーの更新でゲーム/プログラムのプロファイルをリリースできます。ドライバーを更新するたびにこれを正確に行うことが多いので、NVIDIAに報告して、新しい端末で予期しない動作の回避策を作成できるようにするのが最善の策だと思います。

低FPS(および低リフレッシュ)は、パフォーマンス上の理由で画面が変更のためにのみ再レンダリングされるという事実によるものと思われます

まあ、それは理にかなっています。 私たちが持っていたのがGDI(CPU)レンダラーだけだったとき、私たちは明らかに変更時にのみ再描画したいと思いました。 ただし、DXレンダラーを使用すると、それほど問題にはならないかもしれません。

@miniksa GPUのフレームレートで偽のフレームをトリガーする方法はありますか? 新しいものが何もないとしても、FPSを落とさないようにするには?

これがビルド18990で発生することを確認しました。完全な回避策は、フルスクリーンでないときにG-Syncを無効にすることです。

同じ問題が発生し、ウィンドウモードでG-Syncを無効にすると効果があったことを確認できます。

@ zadjii-msft、私はこれらのモニターの1つを持たずにこれを修正する前の試みのためにそれを偽造しました。 モニターを持っている人にブランチを渡してみたらうまくいきませんでした。

このハードウェアが必要です。または、ソースからビルドしてデバッグするスキルも必要です。これについて不満を言う人が必要です。

ボランティアでデバッグを手伝うつもりでしたが、問題を再現できなくなったようです。 WindowsターミナルがG-Syncを使用するように設定されていることを確認しましたが、アプリを操作するときにフレームレートが低下することはありません。
最初の応答以来

ボランティアでデバッグを手伝うつもりでしたが、問題を再現できなくなったようです。 WindowsターミナルがG-Syncを使用するように設定されていることを確認しましたが、アプリを操作するときにフレームレートが低下することはありません。
最初の応答以来

面白い。 それならドライバーのことかもしれませんか? データポイント、@ mbloweyに感謝します。

@miniksa興味深い問題です。コンピューターを開くだけで、ウィンドウ化されたすべてのアプリケーションでG-SYNCを有効にします。再起動しても、この問題を再現できません。

また、 https:/での最初の応答以降、ハードウェアとソフトウェアを変更しませんでした(Windowsを再インストールまたは更新しなかった、グラフィックカードドライバーを再インストールまたは更新しなかった、Windowsターミナルを再インストールまたは更新しなかった) /github.com/microsoft/terminal/issues/649#issuecomment -544209435

私はこの問題を解決するためにこのコメントhttps://github.com/microsoft/terminal/issues/649#issuecomment-491288003をフォローしていました

また、最初のコメントの後にSteamから多くのゲームをインストールします。おそらく、いくつかの重要なグラフィック依存関係をインストールして、この問題を解決します。

誰かがこの問題を経験している場合は、これを試してください

  1. このコメントに従ってくださいhttps://github.com/microsoft/terminal/issues/649#issuecomment-491288003
  2. リブート
  3. リバースステップ1

これがNVIDIAドライバーが原因であるかどうかを判断できる可能性があります

ASUS GTX2080で最新のNvidiaドライバー441.20を使用してWindows10ビルド10.0.19033.1で確認できますが、この問題は引き続き存在します。 ウィンドウモードとフルスクリーンモードでG-SYNCをオフにして、「フルスクリーンモードで有効にする」のみに戻すと、通常のパフォーマンスで正常に動作します。 私は最新のターミナルバージョンを使用しています(2019年11月26日現在、バージョンを直接取得する方法がわかりません。)他に何ができるかわかりませんが、少なくとも問題を報告すると思いました。まだそこにあります。

編集:Nvidiaコントロールパネルツールにアプリケーションの除外を追加する方法が引き続き機能することも確認しました。 それができるとは知らなかったので、共有してくれてありがとう! Quickenで見たのと同様の問題を修正するかもしれません。 :)

上記の@jefmesのように、同じWin 10、ターミナル、ドライバー、グラフィックカードを使用してこの問題を再現しました。

144hzG-Syncディスプレイの現在のバージョン0.7.3451.0でも同じ問題が発生しました。 Nvidiaコントロールパネルでモニターテクノロジーを「固定更新」に設定し、垂直同期設定を「高速」に設定した後、問題は解決しました。

Windows 10 Insider Build19041.1でGTX1070、ドライバーバージョン441.66を実行しています。

ターミナルとグラフィックスドライバーの間で混乱がどのように発生するかを理解しています。私が理解していないのは、マイクロソフトのような小さな時間の開発者が、バグを調査するために200〜300ドルのモニターを買う余裕がない/正当化できないことです。 たぶん、nvidiaと連携して、Windowsがアイドルモードまたはデスクトップモードにフラグを立てるようにします。DirectXを使用しても、アプリケーションの更新は遅くなりますが、カーソルは表示されるため、最大fpsが必要です。 基本的に、MSが制御できる回避策の自動バージョン。

参考までに、Cmderおよびハイパーターミナルウィンドウには再描画率の問題はありません。 フォーカスが合っているとき、およびこれら両方の端末のウィンドウをドラッグしているときのカーソルの動きは、設定したリフレッシュレートで正常に機能し、バターのように滑らかです。

Windowsターミナルウィンドウが現在のデスクトップのリフレッシュレートで動作する能力が低下するのはなぜですか?

Windowsターミナルウィンドウが現在のデスクトップのリフレッシュレートで動作する能力が低下するのはなぜですか?

まだピン留めしようとしているバグのため。

それが役立つかどうかはわかりませんが、新しいWindowsターミナルだけでなくXAMLアプリケーションでも同じ動作が見られます。 これらの場合にも同じ回避策が機能します。

Nvidiaドライバーは、ゲームとは何か、アプリケーションとは何かをより適切に検出する必要があるように感じます。 FreeSyncを搭載したAMDでこの動作を見ている人はいますか?

スクロールバーを使用してカーソルが点滅している現在の行を「オフスクリーン」にするのに十分なテキスト履歴がある場合、ウィンドウをドラッグしたときのリフレッシュレートは通常に戻ります。

はい、そうです。オフィスにハードウェアを設置することを検討しているので、実際にこれについて何かできるかもしれません。

私はこのようなものがどのように機能するかについて読んだところ、2つのテクノロジーは私が思っていたよりも異なっていることがわかりました。

これは、GSYNCモニター+ NVIDIAグラフィックカードのNVIDIAパイプラインでのみ発生しますか? または、FreeSyncモニター+ AMD(またはNVIDIA)グラフィックカードでも可能ですか?

私は基本的に、GTX1080TiやAsusPG279Qほど高価ではないことを願って、買収リストに載せることができる2つの部品を探しています。

このスレッドの誰かが、FreeSync / AMDの世界で発生したかどうかについての推奨事項やレポートを提供してくれるなら、本当にありがたいです。

Nvidia RTX2060とAcerXF270HU(FreeSyncモニター)をGSync互換モードで実行しています。 私もこの問題を経験していますが、コメントfixします。
その修正を削除すると、問題が再発しますが、常にそうとは限りません。 私が最初にそれらの変更を削除したとき、それはすぐに〜60-40fpsに落ちませんでしたが、少しの時間/数回の再起動の後でのみでした。
次に、NvidiaのGeForceエクスペリエンス記録機能を使用してそれを記録してみたかったのです。 記録を開始すると、144に戻り、端末を使用している間もその状態が続きました(これは、記録が何らかの理由で全体的に固定リフレッシュレートを強制していることが原因である可能性があります)。 停止すると、144のままでした(前述の修正がなくても)。 Ctrl + Shift + Win + Bの組み合わせを試しましたが、影響はありませんでしたが、144のままでした。
そのため、この問題はまだ存在しているように見えますが、一貫して再現することも非常に難しく、全体的にかなり厄介ですが、純粋なGSYNCモニターに限定されるものではありません。

この問題を一貫して再現する方法を知っていると思います。 Windowsを再インストールした後、これを見つけました。なぜ一度もターミナルラグが発生しなかったのか疑問に思いました:smile:

image

「フルスクリーンモードを有効にする」に戻すか、完全に無効にすると問題は解決します。

DP経由で接続された非G-Sync60hzディスプレイでも、この動作を再現できると思います。 唯一の違いは、そのような構成は意味がなく、Nvidiaがまだこの表示をしていないというドライバーからの通知です。

しかし、まだまだあると思います。 スクリーンショットに表示されているのは、「設定ミス」であり、デフォルト設定ではありません。 また、ウィンドウモードでゲームをプレイし、G-Syncを使用したいので、そのように設定するとどうなりますか?

私が理解していないのは、それがシステムカーソルをどのように遅くするかということです。 カーソル、ウィンドウ描画ループ、更新ループは独立しているべきではありませんか?

この問題を一貫して再現する方法を知っていると思います。 Windowsを再インストールした後、これを見つけました。なぜ一度もターミナルラグが発生したことがないのか疑問に思いました😄

image

「フルスクリーンモードを有効にする」に戻すか、完全に無効にすると問題は解決します。

DP経由で接続された非G-Sync60hzディスプレイでも、この動作を再現できると思います。 唯一の違いは、そのような構成は意味がなく、Nvidiaがまだこの表示をしていないというドライバーからの通知です。

しかし、まだまだあると思います。 スクリーンショットに表示されているのは、「設定ミス」であり、デフォルト設定ではありません。 また、ウィンドウモードでゲームをプレイし、G-Syncを使用したいので、そのように設定するとどうなりますか?

私が理解していないのは、それがシステムカーソルをどのように遅くするかということです。 カーソル、ウィンドウ描画ループ、更新ループは独立しているべきではありませんか?

3440x1440 144hz FreeSync2モニターでもこの問題が発生しており、NVIDIAコントロールパネルでGSyncモードをEnable for full screen modeに設定すると、問題が修正されました。 上記の感情に同意しました-アプリケーションウィンドウの遅れはすぐに目立ちました。

実行中のバージョン:0.11.1121.0

この問題を一貫して再現する方法を知っていると思います。 Windowsを再インストールした後、これを見つけました。なぜ一度もターミナルラグが発生したことがないのか疑問に思いました😄
image
「フルスクリーンモードを有効にする」に戻すか、完全に無効にすると問題は解決します。
DP経由で接続された非G-Sync60hzディスプレイでも、この動作を再現できると思います。 唯一の違いは、そのような構成は意味がなく、Nvidiaがまだこの表示をしていないというドライバーからの通知です。
しかし、まだまだあると思います。 スクリーンショットに表示されているのは、「設定ミス」であり、デフォルト設定ではありません。 また、ウィンドウモードでゲームをプレイし、G-Syncを使用したいので、そのように設定するとどうなりますか?
私が理解していないのは、それがシステムカーソルをどのように遅くするかということです。 カーソル、ウィンドウ描画ループ、更新ループは独立しているべきではありませんか?

3440x1440 144hz FreeSync2モニターでもこの問題が発生しており、NVIDIAコントロールパネルでGSyncモードをEnable for full screen modeに設定すると、問題が修正されました。 上記の感情に同意しました-アプリケーションウィンドウの遅れはすぐに目立ちました。

実行中のバージョン:0.11.1121.0

どの特定のモニターおよびグラフィックカードモデル、@ zackhorvath?

パンデミックでハードウェアの調達が少し遅れたとしても、ある時点でこれを解決することにまだ興味があります。

返信ありがとうございます@miniksa

私は現在、NVIDIA GeForce GTX 1080ti(EVGAモデル# 11G-P4-6393-RX )を搭載したLG34GK950F-Bモニターを実行しています。 私の特定のNVIDIAドライバーは26.21.14.4587です。

リクエストがあれば追加情報を提供できます!

いいえ、問題ありません。@ zackhorvathに感謝します。 私はあなたの再現セットアップが900ドルのモニターと1100ドルのグラフィックカードではなく、200ドルのグラフィックカードを備えた300ドルのモニターのようなものであることを望んでいました...

私が言ったように、それは私の安くて古いサムスン60hzフルHDディスプレイで再現可能です。 必要なのは、何らかの形式のG-SyncまたはFreeSyncとDPケーブルを実行できるNvidiaGPUだけです。

G-SYNCが「ウィンドウモードおよびフルスクリーンモードを有効にする」に設定されている場合、この問題はターミナルに限定されません。 他のいくつかのアプリでも同じ動作が見られます。例:

  • Malwarebytes Anti Malware
  • Gitフォーク
  • WhatsAppデスクトップ

私が言ったように、それは私の安くて古いサムスン60hzフルHDディスプレイで再現可能です。 必要なのは、何らかの形式のG-SyncまたはFreeSyncとDPケーブルを実行できるNvidiaGPUだけです。

申し訳ありませんが、検疫中の私の読解力はあまり良くありませんでした。 私は逃しました。

G-SYNCが「ウィンドウモードおよびフルスクリーンモードを有効にする」に設定されている場合、この問題はターミナルに限定されません。 他のいくつかのアプリでも同じ動作が見られます。例:

  • Malwarebytes Anti Malware
  • Gitフォーク
  • WhatsAppデスクトップ

これは、NVIDIAドライバーのバグのように聞こえますが、それについては何もできません...

私はこれについて@miniksaと話し合い、可能な緩和策を検討しています、fyi。 必要なハードウェアがあり、問題を簡単に再現できます。

その価値については、他のいくつかのアプリや予期しないアプリでもこれを観察しました。 たとえば、VisualStudioインストーラーでも同じ問題が発生します。 それらのすべてがUWPおよび/またはXAMLベースであるように見えます。

正直なところ、これもドライバーのバグだと思いますが、これはWindowsの至る所で発生しており、Nvidia GPUはそれほど珍しいことではないので、Microsoftの誰かがこの問題を転送できると思いました。 それは一筋縄ではいかないかもしれませんが、それらのNvidiaドライバーはWHQL認定を受けていますよね? Windowsを壊してはいけません。

現在のバージョンのソフトウェア(Windowsターミナルバージョン:0.11.1251.0)、Nvidia GPU、およびFreesyncモニターでもこの問題が発生していることを述べただけです。 3番目のコメントの回避策はまだ役に立ちました。 少なくとも私はボーダレスウィンドウモードでいくつかのゲームをプレイしているので、ウィンドウアプリケーションのG-syncを無効にする他の回避策はあまり良くないと思います。

最善の解決策は、ゲームやその他のプログラムなど、G-syncの恩恵を受けるアプリケーションをNvidiaドライバーがより適切に検出することだと思われます。 しかし、Windowsターミナル用の組み込みのNvidiaプロファイルは、特に手間のかからない修正になります。

しかし、Windowsターミナル用の組み込みのNvidiaプロファイルは、特に手間のかからない修正になります。

これが何を意味するのかわかりません。 あなたが話すこのプロフィールは何ですか? アプリケーションの横にマニフェストを含めて、NVIDIAのドライバーにG同期を取り消すように指示できますか? それとも、これはNVIDIAがドライバーパッケージに含める必要があるものですか?

しかし、Windowsターミナル用の組み込みのNvidiaプロファイルは、特に手間のかからない修正になります。

これが何を意味するのかわかりません。 あなたが話すこのプロフィールは何ですか? アプリケーションの横にマニフェストを含めて、NVIDIAのドライバーにG同期を取り消すように指示できますか? それとも、これはNVIDIAがドライバーパッケージに含める必要があるものですか?

それらは、nVidiaコントロールパネルで設定できるnvidiaアプリケーションプロファイルを参照していますが、私が知る限り、それは実行可能なソリューションではありません。 Windowsターミナルのアプリケーション固有のプロファイルにどの設定を選択しても、動作は同じです。 誰かが見つけた実用的な組み合わせを持っている場合は、ターミナル自体でこれを修正する方法についていくつかのアイデアが得られる可能性があるため、共有すると便利です。

また、私が知る限り、プロファイルが機能したとしても、nVidiaがそれらをドライバーパッケージに含める必要があります。

これまで、vsyncの無効化、DXGI_PRESENT_ALLOW_TEARING、DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARINGの適用など、ターミナルへのさまざまな変更を試みましたが、うまくいきませんでした。 誰かが適用できるアプリケーション固有の回避策を知っていることを期待して、他の数人の専門家に問い合わせましたが、現時点ではETAはありません。

この問題は、Windowsターミナルに固有のものではありません。

これまで、vsyncの無効化、DXGI_PRESENT_ALLOW_TEARING、DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARINGの適用など、ターミナルへのさまざまな変更を試みましたが、うまくいきませんでした。 誰かが適用できるアプリケーション固有の回避策を知っていることを期待して、他の数人の専門家に問い合わせましたが、現時点ではETAはありません。

この問題は、Windowsターミナルに固有のものではありません。

ありがとう、@ binarycrusader。 これらはすべて、ハードウェアにアクセスできるかどうかを確認するためのフラグでした。

これは、Deezer Music(UWP)、WhatsApp Desktop、およびほとんどのElectronベースのアプリケーションでも発生するようです。 多少関係はありませんが、NVIDIAの「Web」ドライバーはほとんどすべてのmacOSアプリケーションでこの動作を示します。

ああ、まあ、この問題に対する電子の答えは¯\ _(ツ)_ /¯だったようです

https://github.com/electron/electron/issues/3026

また、クロムで修正されているかどうかもわかりません-トラッカーのこの問題はまだ開いていますが、この時点で数年は古くなっています😕

https://github.com/microsoft/terminal/blob/e61968ca87de7fd9c08b50f63e8cccb01f240596/src/renderer/base/thread.cpp#L208 -L212をIDXGIOutput::WaitForVBlank (https://docs.microsoft)を使用するように変更するかどうか疑問に思います。 com / en-us / windows / win32 / api / dxgi / nf-dxgi-idxgioutput-waitforvblank)はこの問題を解決します...

参照: httpshttps://www.vsynctester.com/firefoxisbroken.htmlおよびhttps://bugzilla.mozilla.org/show_bug .cgi?id = 1628137およびhttps://bugs.chromium.org/p/chromium/issues/detail?id=953970

@miniksa

あなたが話すこのプロフィールは何ですか? アプリケーションの横にマニフェストを含めて、NVIDIAのドライバーにG同期を取り消すように指示できますか? それとも、これはNVIDIAがドライバーパッケージに含める必要があるものですか?

明確にするために、私はNvidiaがドライバーに含める必要がある設定を意味しました。 組み込みの「プログラム設定」リスト(私が持っていないゲームやアプリケーション)にはすでに約1000のプログラムがリストされており、それらすべてのプログラムにいくつかのカスタム設定があると思いましたが、今はわかりません。

@binarycrusader

Windowsターミナルのアプリケーション固有のプロファイルにどの設定を選択しても、動作は同じです。 誰かが見つけた実用的な組み合わせを持っている場合は、ターミナル自体でこれを修正する方法についていくつかのアイデアが得られる可能性があるため、共有すると便利です。

これらの設定は私のためにそれを修正しました:

image

「Fixedrefresh」に設定しただけだと思いますが、他の2つの設定が太字になっている理由がわかりません。 ただし、他のすべての設定はデフォルトです。

Nvidia独自の現在のコントロールパネルを介して作成されたユーザー定義プロファイルは、実行可能ファイルへの絶対パスによって常にアプリを参照しているように見えます。 これは以前に使用した他のアプリでは問題なく機能しましたが、WindowsストアはすべてのWindowsターミナルの更新を別のディレクトリにインストールするため、関連するプロファイルは煩わしく短命でした。

私はすでにいくつかのケースでNvidiaProfile Inspectorを使用して、よりきめ細かい制御を行っていましたが、そのツールで作成されたユーザー定義プロファイルを発見しました。

  1. パスなしで実行可能ファイル名のみに一致
  2. 1つのプロファイルに複数の実行可能ファイルを追加できるようにする
  3. わかりやすくするためにカスタム名を許可する

また、Nvidiaが現在のドライバーバンドルですでに出荷しているが、コントロールパネルからは隠されている何百ものプロファイルをよりよく見ることができます。 Microsoft Win10 StoreMicrosoft Visual Studioなどを含む数十のMicrosoftアプリがすでに存在し、いくつかの異なる実行可能ファイル(パスなし)と一致する傾向があり、 Sync and RefreshセクションにはGSYNC - Application StateForce Offオーバーライドします。

これで、 WindowsTerminal.exe (任意のパス)の単一の__No_GSyncプロファイル(リストの一番上に簡単に並べ替えられるように名前が付けられました)と、遅延再描画を使用する他のいくつかのアプリがあります。 この場合も、この__No_GSyncプロファイルでインスペクターを介してオーバーライドした唯一の設定は、 GSYNC - Application StateからForce Offです。 Nvidiaの自身のコントロールパネルでバックを見たときに、このプロファイルのためにのみ表示オーバーライドがあるMonitor Technologyに設定され表示されるNot supported for this applicationとさえそのビューでこの値を変更することはできません。

これが私にとってより信頼性の高いset-it-and-forget-itソリューションであり、WindowsターミナルチームがNvidiaと通信して、同様のプロファイルを将来のドライバーリリースにバンドルできることを願っています。

Windowsターミナルリリース候補v0.11.1333.0(1.0rc2)のsettings.jsonに"experimental.rendering.software": trueを追加すると、この問題が解決します。

ある程度のパフォーマンスの低下が発生すると思いますが、自分のマシンではそれを感じません。

私のシステムでは、これを管理するためにプロファイルを使用するような運はありません。 nVidiaプロファイルを使用してGSYNCを強制的にオフにしても、効果はないようです。 実行可能ファイルと設定のすべてのバリエーションを試しました。 nVidiaコントロールパネルとプロファイルインスペクターツールの両方を使用してみました。

また、プロファイルベースのソリューションを機能させることができませんでした。 カスタムプロファイルを追加すると、NVIDIAコントロールパネルのWindowsターミナルが最近使用したプログラムリストに表示されないことに気付きました。 NVIDIAドライバーは、Windowsターミナルが実行されていることをどういうわけか認識できないのではないかと思います。

これが他の誰かを助けるかもしれない場合に備えて、これらはNvidiaコントロールパネルの私の設定です

image

Windowsターミナルリリース候補v0.11.1333.0(1.0rc2)のsettings.jsonに"experimental.rendering.software": trueを追加すると、この問題が解決します。

ある程度のパフォーマンスの低下が発生すると思いますが、自分のマシンではそれを感じません。

私もこの問題を経験しており、G-Syncプロファイルの変更では修正されませんでしたが、修正されました。 ありがとう。

さらに数日間使用した後、プロファイルソリューションは私にとってほとんど効果的でしたが、Windowsターミナルに特に適用されない期間が時々ありました。 同じno-gsyncプロファイルにある他のアプリではこの問題は発生していません。

Windowsストアにインストールされたターミナルのコピーが現在Nvidiaプロファイルによって無視されていた時期に、私はすぐに、リリースページから一致するmsix(1.0.1401.0)をダウンロードし、x64バージョンのフォルダーを直接自分に抽出しました。デスクトップ。 そのコピーのWindowsTerminal.exeを起動すると、ウィンドウのgsyncが正しく無効になりますが、同時に実行されているWindowsストアにインストールされたコピーではgsyncが有効になります。 それぞれを数回連続して再起動すると、同じ結果が得られます。

これらのリリース間でプロファイルに変更は加えられませんでした。 理論的には、どちらもgsyncを使用しないように、同じプロファイルが両方に等しく影響することを期待します。 これは、Nvidiaの現在の検出メカニズムによってスリップする原因となる、ストア配布バージョンの起動に関連するアクセス許可とwt.exeを介したリンクの複雑さである可能性があるのではないかと思います。 ほとんどの場合、ストアコピーに正しく適用されているように見える既存のプロファイルを説明する方法がわかりません...他のすべてのユーザー定義プロファイルを削除し、使用中の他のウィンドウを相互に関連付けようとしましたが、パターンを見つけられませんでした。

おそらく、ストアバージョンではなく、抽出されたバージョンをしばらく使用して、それが信頼できるかどうかを確認します。 タスクバーに固定されたときにショートカットに作業ディレクトリを簡単に設定できるという追加のボーナスがあります。また、ストアが更新を強制したときに、長時間実行されるターミナルプロセスをホストしているときに、静かに強制終了されることはおそらくありません。 これまでに明らかに欠落しているのは、ms-appxパスによって参照されるプロファイルアイコンだけです。


余談ですが、怠惰な画面の再描画に関して同様に動作するneovideneovide.exeをno-gsyncプロファイルに追加/削除しても、すでに実行されているgsyncの状態は変更されませんが次回の発売時に。 他のトラブルシューティングのために知っておくと便利かもしれません。

neovideはVulkanを使用しているため、DirectXの問題は除外されます。最近のゲーム、特にUWPベースのゲームでは、「専用フルスクリーンモード」ではなく「フルスクリーンウィンドウモード」しか提供されていません。ウィンドウモードではG-Syncを有効にしません。

しかし、このバグはこのリポジトリの範囲外に成長しているようです(そしてこれが発生する他のすべてのプロジェクト)ので、誰もこれに気づいておらず、Nvidiaの誰かと連絡がない場合、これは修正されますか? Windowsを使用して、システムに大量のワークウンドを積み上げる代わりに、購入したハードウェアと機能を使用してゲームをプレイできるのはすばらしいことです。

Nvidiaコントロールパネル/ 3D設定の管理の回避策を使用している場合、[プログラム設定]ドロップダウンにWindowsターミナルを追加した方法を明確にできますか? ドロップダウンに表示されません。また、Windowsストアからインストールされているため、実行可能ファイルを参照する方法がわかりません。

Nvidiaコントロールパネル/ 3D設定の管理の回避策を使用している場合、[プログラム設定]ドロップダウンにWindowsターミナルを追加した方法を明確にできますか? ドロップダウンに表示されません。また、Windowsストアからインストールされているため、実行可能ファイルを参照する方法がわかりません。

セットアップしてからしばらく経ちましたが、パネルを開いたときにプログラムが実行されていることを確認したところ、すぐに表示されるか、上記のスクリーンショットで「追加」を押すことができました。 「現在実行中のプログラム」またはその趣旨の何かを選択します。

settings.jsonに設定"experimental.rendering.software": trueを追加することが、自分のマシンでこの問題を「修正」できる唯一の方法だったため、MSBOTがこの問題とすべての重複する問題を解決した理由がわかりません

レンダリングで何かが起こっているという意味ですか?

MSBOTがこれを閉じた理由がわからない

この問題はまだ解決されておらず、グラフィックスドライバーが機能していない人のための解決策が見つかるまで解決されないままです。 今のところ、ソフトウェアレンダリングまたはグラフィックスタックにターミナルをゲームのように扱わないように指示することは、回避策です。

MSBOTがこれを閉じた理由がわからない

この問題はまだ解決されておらず、グラフィックスドライバーが機能していない人のための解決策が見つかるまで解決されないままです。 今のところ、ソフトウェアレンダリングまたはグラフィックスタックにターミナルをゲームのように扱わないように指示することは、回避策です。

残念ながら、機能不全のグラフィックドライバ設定でこれを修正することもできませんでした。 Nvidiaコントロールパネル/ 3D設定の管理/プログラム設定ドロップダウンにも表示されません。

settings.jsonの設定"experimental.rendering.software": trueは、Nvidia RTX 2080でも修正されました。これは、Nvidiaのコントロールパネルでグローバル設定を変更するよりも好ましい解決策だと思います。

更新:

私はそれを取り戻します。 2つのモニターがある場合:1つはG-Syncの高リフレッシュレートで、もう1つは基本的な60hzで、端末を60hz画面に置くと、高リフレッシュレート画面のすべてのアプリの実行が遅くなります。

別の更新:

設定"experimental.rendering.software": trueを使用し、Windows10をv2004に更新すると、修正されました。

Nvidiaコントロールパネル/ 3D設定の管理/プログラム設定ドロップダウンにも表示されません。

ドロップダウンに自動的に表示されるわけではありませんが、横にある[追加]を押すと、検出されたアプリケーションのリストに表示されます。

Nvidiaコントロールパネル/ 3D設定の管理/プログラム設定ドロップダウンにも表示されません。

ドロップダウンに自動的に表示されるわけではありませんが、横にある[追加]を押すと、検出されたアプリケーションのリストに表示されます。

残念ながら、そこにも表示されません。:/

バージョン1.0とgsyncで同じ問題が発生します-フレームレートが約40fpsに低下し、モニターがちらつきます。 Windowsターミナルをほとんど使用できなくする

更新: "experimental.rendering.software": trueはWindows2004で正常に動作するようです

@ robert-sandorこのスレッドで前述したように、一部のユーザーは"experimental.rendering.software": true設定で成功しています。

@ robert-sandorこのスレッドで前述したように、一部のユーザーは"experimental.rendering.software": true設定で成功しています。

SLIに2つの1070ti、ドライバv446.14、およびデスクトップに120HzのAlienwareAW3420DWがあります。 フレームレートの低下の問題も発生していました。 この設定を構成に追加すると、解決されました。

Windowsターミナルリリース候補v0.11.1333.0(1.0rc2)のsettings.jsonに"experimental.rendering.software": trueを追加すると、この問題が解決します。

ある程度のパフォーマンスの低下が発生すると思いますが、自分のマシンではそれを感じません。

これは私のためにそれを修正しました。 これが実験的な@ zadjii-msftの外にあるといつ期待できますか?
参考:2台のモニター、1台の144hzGsyncと他の60hz

パッケージを自分のフォルダーに抽出してWindowsTerminal.exe直接実行することでストアをバイパスするという私の回避策は、NvidiaプロファイルでGsyncを強制的に無効にするという点で、過去2週間100%信頼できました。 Gsyncをグローバルに有効のままにして、このような特定のアプリで強制的に無効にすることは、依然として私の推奨されるソリューションです。 ソフトウェアレンダリングへの劣化は望ましくないようです。

現在のNvidiaドライバーバージョン446.14で、他のさまざまなアプリやシナリオを試しました。 Windowsストア経由で特別にインストールされたWindowsターミナルは、1)Gsyncが起動する、2)望ましくない、3)アプリ固有のNvidiaドライバープロファイルが無効にできないというこの組み合わせで遭遇した唯一のものです。 これには、Windowsストア経由でインストールされたUWPゲーム(例:Astroneer- Astro-UWP64-Shipping.exe )が含まれます。 これは、パッケージング/許可/配信の状況を比較するのに便利なポイントのように見えましたが、Gsyncがそこから始まり、期待どおりに機能し、アプリ固有のプロファイルを介して無効にすることができます。

「experimental.rendering.software」:trueで修正されました。

この日付の時点で最新のnVidiaドライバーを搭載した1080Ti、およびWindows 102004。

この問題に関する最新の公式の言葉は何ですか?
CPUサイクルを他の場所で使用したいと思います。

ソリューション担当者に感謝します。

ソフトウェアレンダリングは依然としてかなりパフォーマンスが高いです。私たちは巨人の肩の上に立っており、変更された画面の領域のみをレンダリングします。 それは加速されていませんが、次善の策です。

"experimental.rendering.software":trueも修正しました。

Windows 10 Pro Build2004の最新のNVidiaドライバーを搭載した1080。

この方法にはパフォーマンスの問題がありますか? 私が見る限り、私は今のところ問題がなかったからです。

"experimental.rendering.software":trueも修正しました。

Windows 10 Pro Build2004の最新のNVidiaドライバーを搭載した1080。

この方法にはパフォーマンスの問題がありますか? 私が見る限り、私は今のところ問題がなかったからです。

ここまでは順調ですね。

以前はgsyncWindowsターミナルのプレビューをオフにしていましたが、ドライバーのクリーンアップデート後にWindowsターミナルが見つかりません。 そして、GPUで加速された用語が必要なため、ソフトウェアレンダリングは修正するのに適した方法ではありません:(

gsyncを使用しないようにWindowsターミナルを手動で追加する方法はありますか? exeを置くことはuwpでは機能しないと思います。

image

"experimental.rendering.software": true追加することも私を助けました。 GTX 970(Nvidiaドライバー432.00)を使用してWindowsターミナル1.0.1401.0を実行する。

この問題は、Windowsターミナルに固有のものではありません。 また、Ableton Liveの実験的なフラグを設定し、Spotifyのハードウェアアクセラレーションを無効にする必要がありました。

Windowsストア経由でインストールされたWindowsターミナルの場合にプロファイルオーバーライドが機能しないことについて@krageが言っていることを確認できます。 一般に、UWPアプリの機能は、Nvidiaプロファイルではうまく機能しないようです。 ターミナルのWindowsストアインストールの使用からスクープによって管理されるものに切り替えました(基本的に@krageが使用している方法を模倣しています)

Windowsターミナル用の私のNvidiaプロファイルは、次の設定を使用します。

  • 推奨リフレッシュレート(Acer X34):利用可能な最高値
  • モニターテクノロジー:グローバル設定(G-Sync)を使用
  • 垂直同期:グローバル設定を使用(高速)

これらの設定は私にとって問題を解決します。

"experimental.rendering.software": trueを有効にすると問題が解決することも確認できます。 しかし、私はむしろハードウェアベースのレンダリングを使用したいと思います。

ハードウェア:

  • Nvidia GeForce 1080(プッシュx34)
  • Nvidia GeForce 1060(6GB)(他のパネルをプッシュ)
  • Acer X34(G-Syncディスプレイ)
  • GS35UCR DP(非G-Sync、100Hzディスプレイ)
  • 2x HP N270h(60hz非G-Syncディスプレイ)

バージョン

  • Nvidia 446.14
  • Windowsターミナル(パッケージなし)1.1.200615001
  • Windows 10 2004(ビルド20150.rs_prerelease.200612-1734)(高速リング内)

ちなみに、私は最近、この問題を解決できるかどうかを調査しました。簡単な答えは「はい」ですが、主に「いいえ」です。
はい、次のようにすることで問題を軽減できます。

  • これを削除
  • その
  • ここで説明されているように、 DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING DXGI_PRESENT_ALLOW_TEARINGフラグとます

_しかし_これは悪い考えだと私は主張します。それが私が最終的にPRを提出しなかった理由です。 これをすべて行うと、Nvidia以外のすべてのユーザーも、ディスプレイのフルフレームレートで描画するようになります。これは単に不要です。
私の謙虚な意見では、Nvidiaはこの特定の問題を修正する必要があります。これは、Windowsターミナルに存在するだけでなく、DirectXを使用するすべてのUWPアプリに存在するためです。

それに加えて、Nvidiaコントロールパネルの「ウィンドウモードとフルスクリーンモードを有効にする」設定もデフォルト設定ではなく、過去に多くのものを壊すことが知られています(これは-私は確信しています-そもそもデフォルトで有効になっていない理由)。 🙈

基本的に、これはすべてDX11に関するnVidiaの問題/バグに帰着しますか?

最近新しいモニター(LG27850)を入手しましたが、ちらつきはなくなりましたが、端末から別のプログラムにAltキーを押したときに、60Hzと144Hzの違いを感じることができ、面白く感じます。

@KrunoSaho私はそれを証明することができず、私は間違っている可能性がありますが、私はかなり確信しています...
あなたは、すべての「D2D」(Direct2Dの)、「DWRITE」(DirectWriteの)と「DX」(DirectXの)サンプルを試すことができ、ここで、あなたはWindowsターミナルがするように彼らの_all_は同じ問題を示すことがわかります。
同じ問題がないことがわかった_only_UWP + DirectXアプリは、MinecraftのAppStoreバージョンです。
そのため、根本的な問題は、プロセスがGSYNCを使用するかどうかを決定するNvidiaのヒューリスティックであると私は信じています。

厳密にそれを必要としない人は、「ウィンドウモードとフルスクリーンモードを有効にする」を無効にする必要があります。
image

私の謙虚な意見では、この問題は解決できます。AMDGPUを使用している場合、この動作は存在しないため、WindowsターミナルまたはWindows一般のバグの可能性を排除します。

残念ながら、厳密に必要なため、「ウィンドウモードとフルスクリーンモードを有効にする」設定を有効にしました。 そうしないと、ウィンドウモードのゲームはG-SYNCをまったく使用しません。 したがって、そのオプションは必須です。
Photoshopでもこの問題が発生しましたが、少なくとも機能していないnvidiaドライバーでは、選択するアプリのリストに表示されるだけで、そのアプリの固定リフレッシュレートを選択できました。

ですから、他に何もないとしても、nvidiaコントロールパネルの3D設定のアプリのリストにターミナルアプリをなんとか/魔法のように表示させることができれば、私はとても幸せです。

これについてnVidiaにバグレポートを提出しました。 どちらかといえば、何が起こるかを見ていきます。

@electrofloat私はまだそのバグを再現することに成功していません...私にとってそれは現れます:
image

...そしてそれは私が問題を修正する「モニター技術」を適切に変更することを可能にします。 表示されない場合は、スタートメニューからデスクトップにアプリをドラッグアンドドロップして、デスクトップにターミナルアプリへのショートカットを作成してみてください。

デスクトップショートカットからターミナルを起動しましたが、残念ながら最近使用したアプリのリストに表示されません。 :(

@electrofloatPCを再起動してみてください。 Nvidiaは、プログラム設定を初めて開いたときに、そのリストをドライバー内にキャッシュします。

@lhecker私は同じことを読みましたが、PRを送ることも拒否しました。 しかし、考えれば考えるほど、考えが変わります...私が知る限り、Nvidiaを検出し、G-Syncを照会することもできます。これは、ドキュメントによると回避策ではありませんが、想定される方法です。 。 G-SyncとFreeSyncは交換可能であるため、AMDの人もこれから恩恵を受けることを忘れないでください。

公平を期すために、それは鶏が先か卵が先かという問題です。 AMDは明らかにこの状況をドライバーで処理できますが、Nvidiaはできません。 スケジュールが厳しい場合は、Nvidiaをねじ込み、問題を修正させるのは簡単です。 また、実際にはNvidiaドライバーは問題なく、ソフトウェアはクエリを実行せず、ユーザーが必要とする機能を提供しないと主張することもできます。

マイクロソフトの誰かがすでに文書化したものを実装することによって問題を修正する方法があるのはちょっと悲しいと思います。 そして、この問題はWindowsターミナルだけでなく、多くのUWPおよびWPFアプリでも発生します。

@electrofloat追加メニューのブラウザを使用して実行可能ファイルを検索してみてください。 C:\Program Files\WindowsApps下のどこかにあり、このフォルダーのアクセス許可を微調整する必要がある場合があります。 また、リストに表示させることもできませんでした。

私の場合、これは実際には役に立たなかったことに注意してください。私のオプションは、ウィンドウモードでG-Syncを無効にするか(ありがとうございません)、実験フラグを使用することです(これは役に立ちました)。

また、デフォルト設定を使用しても、介入なしでこの問題が解決する場合があることも確認しました。

これが私のマシンのWindowsターミナルに固有のものではないことを確認できます。

@SirJson tl; dr :間違った方法で取得しました... Windowsターミナル(WT)は、明示的に可変リフレッシュレート(VRR)でレンダリングするべきではありません。 これは、G-SYNCをサポートする方法ではなく、G-SYNCを無効にする最善の方法についてです。


WTは、ゲームのようにマウス入力をキャプチャしないため、ウィンドウマネージャーやその他のOS(カーソルの移動、ドラッグアンドドロップなど)と適切に統合する必要があります。 また、エネルギー効率が高い必要があります。つまり、フルFPSで実行することは非常に逆効果です。 たとえばChromeは、必要がなければレンダリングをまったく行わないように調整します。 WTが私の比較的頑丈なPCで165FPSでレンダリングするためには、一方で、CPUコアのほぼ全体を単独で消費します。

グラフィックスドライバーがアプリケーションがVRRを必要としていると判断した場合、レンダリングパイプライン全体(アプリケーションが表示されている画面の場合)をVRRモードにします。 その1つのアプリケーションが低いFPSで描画する場合、ウィンドウマネージャー、マウスカーソルなどを含め、画面全体がそのFPSで描画されます。基本的にすべてです。 これが、VRRがフルスクリーンアプリケーション、またはゲームのようにマウスカーソルをキャプチャするアプリケーションに対してのみ有効になっている主な理由です。 Nvidiaのヒューリスティックは、ほとんどすべての通常のアプリケーションで機能します。 Firefox、Chrome、VSCodeなどの通常の.exeはすべて非G-SYNCとして正しく検出されます。 WT、SlackなどのUWPアプリ(もちろんSlackも!)は、G-SYNCが必要なアプリとして誤って検出されます。 これは明らかにNvidia側のバグです。

最後に、WTのDirectXレンダラーが、探している120FPSを超える速度を提供するのに十分な速度であるという保証すらありません。
それが失敗した場合、上記の理由により画面全体が遅く感じられます。

要約すると、WTはVRRでレンダリングするべきではありません。誰かが、NvidiaのドライバーにWTをG-SYNCを必要とするアプリケーションとして検出させる方法を知っている場合は、私に知らせてください。実装します。 繰り返しになりますが、UWP Minecraftは非G-SYNCとして正しく検出される数少ないUWPアプリケーションの1つであるため、どういうわけかそれが可能であることを私は知っています。

ゲーム開発者のバックグラウンドから来た私を困惑させるものは何ですか?これがばかげた質問である場合は申し訳ありませんが、アプリケーションループがレンダラーに関連付けられているのはなぜですか? ゲームでは、システムが1つの重いシーンを処理できない場合、たとえばレンダリングが遅い場合でも内部ロジックを続行する必要がある場合、G-Syncの原因が発生するずっと前からこれを行う人は誰もいません。

次に、カーソルが途切れる原因について考えると、メンタルモデルのバックグラウンドで何が起こっているのか疑問に思います。OSカーソルは、実行中のグラフィックアプリケーションとは別のものでした。 これは、G-Syncがコンポジター全体の速度を低下させているようです。

しかし、私はG-Syncにシャットダウンするように指示するだけでも解決策であり、とにかく端末内に場所があるわけではありません。 しかし、私が知らないアプリケーションコードからそれを行う方法。

@SirJsonレンダラーにはまだかなりの数の最適化の場所が残っていると思います。 ただし、ゲームはエネルギー効率が高くなるように設計されていないことを考慮する必要があります。そのため、たとえば、潜在的なCPUパワーの10%を常に使用する必要があります。 もちろん、端末としてはそうではないはずです。そのため、レンダリングループを可能な限り抑制したいと考えています。
マウスカーソルが途切れる理由は、WTがVRRアプリケーションとして認識され、表示フレームレートがWTと同期されるためです。 WTがエネルギー効率の高い方法でレンダリングする場合(つまり、ほとんど/必要に応じて)、WTのフレームレートは約3〜4 FPSに低下します。これにより、ディスプレイ全体のフレームレートが3〜4FPSに低下します。

ええ、私たちができるという理由だけで同じテキストを144回レンダリングするのはばかげているでしょう。

G-Syncの例外に関しては、ドライバーにハードコードされていると思います。 NVIDIAコントロールパネルでプロファイルを開くと、Chrome、Firefoxなどの自動プロファイルが表示され、人々がここで手動で行っているように、すべて正しく設定されています。 つまり、向こうの誰かが目を覚ましてプロファイルをドライバーに組み込むか、実際にG-Syncを修正するまで、私たちにできることはあまりありません。

同じモニターとシステムでAMDがどうなるのか興味があります。 結局のところ、私がこのGPUセットアップを実行している理由があり、WindowsがAMDドライバーを何度もインストールすることを主張する場合は、今すぐこれをテストしたほうがよいでしょう。 AMDはウィンドウアプリケーションでFreeSyncを許可しているのだろうか。

誰かがそれをNvidiaコントロールパネルのアプリのリストに追加する方法を見つけましたか?

私にはまったく出てこない:/

ええ、[追加]-> [参照]をクリックして、C:\ Program Files \ WindowsApps \に移動します。 Microsoft.WindowsTerminal_1.0.1811.0_x64__8wekyb3d8bbweようなフォルダがあるはずです。

exeは中にあります。

ただし、この方法の方が優れています: https

@SirJson

同じテキストが突然移動する可能性がある場合は、高いフレームレートが必要になることがあります。このようなアプリケーションのように、テキストをスムーズに移動するために、最新のモニターがフレームレートを必要なフレームレートに即座に変更できるかどうかはわかりません(WSLプロファイルを使用して有効にするマウス追跡):

ssh [email protected]

netxs-group / VTM#9このアプリケーションでは、任意のフレームレートを使用してマウスでテキストコンテンツを操作することにより、端末のパフォーマンスをテストできます。

image

ええ、[追加]-> [参照]をクリックして、C:\ Program Files \ WindowsApps \に移動します。 Microsoft.WindowsTerminal_1.0.1811.0_x64__8wekyb3d8bbweようなフォルダがあるはずです。

exeは中にあります。

ただし、この方法の方が優れています: #649(コメント)

ええ、今のところそれを使用しています。 その方法でプロファイルを作成してみましたが、うまくいきません。
したがって、SWレンダリングは今のところです。

また、UWPアプリのNvidiaプロファイルの設定にも問題がありました。 スクープ経由でターミナルをインストールしましたが、プロファイルを適用するためにターミナルを取得できませんでした。 最後に、私が使用https://github.com/Orbmu2k/nvidiaProfileInspectorを@krageによってsuggstedと作ったとして確かプロファイルがいいと簡単だった:windowsterminal.exeへの関連付けを再やった、とだけ、G-を一つの値を変更しますアプリケーション状態1を同期する

image

出来上がり! 155Hzターミナル😎

@jalada申し訳ありませんが、その方法も私には機能しません:(。ソフトウェアレンダリングを使用することが唯一のオプションのようです。私はターミナルbtwのプレビューバージョンを使用しています。

This is my inspector profile btw

長い期間を経て、nVidiaに私のmsinfo32レポートを提供した後、彼らはそれを調査していると言っています。

こんにちはクルノ、

ありがとうございました。 この問題を調査中です。 現時点では、これ以上の更新はありません。

よろしく、
ジョシュ
NVCC

今、私たちは待っているゲームをします。

@ o-sdn-oしかし、私がそれを正しく理解していれば、それはベンチマークであり、あなたの典型的なユースケースではありません。 私はそれを実用的な観点から見ようとし、毎日144Hzのモニターを使用しています。 そして、デモやクールな効果ではない144FPSを必要とするターミナルアプリケーションをまだ見つけていません。

私が目にする問題は、ウィンドウモードまたは新しい推奨の「フルスクリーンウィンドウモード」でゲームをプレイしたいが、同時にWindowsを壊さずにG-Syncを使用したい場合です。 これは、Windowsターミナルだけでなく、たとえばMicrosoftホワイトボードやその他のUWPアプリでも発生していることを忘れないでください。

私を混乱させたのは、すべてのもののカーソルが「可変リフレッシュレートアプリケーション」として検出されることでした。 私には、そのすべてがNvidiaが調査すべきもののように聞こえます。

最悪の場合、それをフォークし、フレームレートのロックを解除して、必要なことをすべて実行します。 しかし、それはシステム全体の問題を解決しません。

ええ、私は@SirJsonに完全に同意し
これは、Windowsターミナルに起因する問題ではありません。

G-Syncは、モニター用の「可変リフレッシュレート」(VRR)のNvidiaの実装であることをもう一度明確にする必要があるように感じます。
リフレッシュレートはアプリケーションごとではないため、ここで重要なのは_「モニター」_です。 いずれかのアプリケーションでG-Syncが有効になると、そのモニター全体がG-Syncの原因となるアプリケーションの速度でレンダリングされるようになります。
カーソルがVRRアプリケーションとして検出されているため、G-SyncでUWPアプリを使用しているときにカーソルが途切れることはありません。むしろ、モニター全体のリフレッシュレートが動的に低下しているためです。 この理由は、Windowsターミナルなどのデスクトップアプリケーションは、ほとんどの場合、必要な場合にのみ描画するため、アプリケーションのフレームレートが低くなり、G-Syncが最終的にモニターのリフレッシュレートを低くするためです。

さて、それはその機能全体を無意味にしますね? 私のモニターが報告しているのは、定数144hzであり、ディスプレイ全体のリフレッシュレートであり、この機能を実装したコンポジターを使ったトリックであると想定しました。

幸運なことに、ゲームをする時間があれば、今プレイしている1つのゲームが真のフルスクリーンをサポートします。「何が起こるか」という理由でこのオプションに何ヶ月も触れず、問題はありませんでした。 正直に言うと、元々この問題に遭遇したのは、古いディスプレイでも強制的にg-sync @ 60hzを実行する可能性があるためです(これはさらにポイントが少なくなりますが、どうなるか興味がありました)

問題があり、ソフトウェアレンダリングを使用したくない人には、私や他の人が130日以上前に行ったことを実行する

少なくとも私にとっては、物事を片付けてくれた@lheckerに感謝します

"experimental.rendering.software": true追加することも私を助けました。 GTX 970(Nvidiaドライバー432.00)を使用してWindowsターミナル1.0.1401.0を実行する。

この問題は、Windowsターミナルに固有のものではありません。 また、Ableton Liveの実験的なフラグを設定し、Spotifyのハードウェアアクセラレーションを無効にする必要がありました。

これにより、2080tiといくつかの165hzGSyncedディスプレイを使用している場合の問題が修正されます

"experimental.rendering.software": true追加することも私を助けました。 GTX 970(Nvidiaドライバー432.00)を使用してWindowsターミナル1.0.1401.0を実行する。
この問題は、Windowsターミナルに固有のものではありません。 また、Ableton Liveの実験的なフラグを設定し、Spotifyのハードウェアアクセラレーションを無効にする必要がありました。

これにより、2080tiといくつかの165hzGSyncedディスプレイを使用している場合の問題が修正されます

これにより、1080tiおよび165hzGSyncの問題も解決されます。

"experimental.rendering.software": true追加することも私を助けました。 GTX 970(Nvidiaドライバー432.00)を使用してWindowsターミナル1.0.1401.0を実行する。
この問題は、Windowsターミナルに固有のものではありません。 また、Ableton Liveの実験的なフラグを設定し、Spotifyのハードウェアアクセラレーションを無効にする必要がありました。

これにより、2080tiといくつかの165hzGSyncedディスプレイを使用している場合の問題が修正されます

これにより、1080tiおよび165hzGSyncの問題も解決されます。

これにより、RTX2070および144hzGSyncの問題が解決します。

ドライバー451.67を搭載したGeForce2080Tiでも同じことが起こっています。 Windowsターミナルは、画面レンダリングで他のターミナルアプリケーションと何が違うのですか? Powershell、Powershell ISE、デフォルトのWindowsコマンドライン、Cmderはすべて、この奇妙な動作を示さず、Gsyncウィンドウまたはウィンドウ設定で問題ありません。

上記のコメントは状況を詳細に説明しているので、もう一度言及したいと思います。
特にこのコメントは最も簡潔にする必要があります//github.com/microsoft/terminal/issues/649#issuecomment -647777960

上記のコメントは状況を詳細に説明しているので、もう一度言及したいと思います。
特にこのコメントは最も簡潔である必要があります: #649(コメント)

ゲームがマウス入力をキャプチャする方法と他のアプリケーションタイプの違いについて話していた場合、コメントの理由は理解できますが、私が言及した他のターミナルアプリケーションがGsync対応の画面リフレッシュレートで問題なくマウス入力を処理するように見えるのはなぜですか? 。 これらは標準的なアプリケーションであり、カスタムのNvidiaコントロールパネルプロファイルがないことは間違いありません。 Windows Terminalがディスプレイレンダリングを処理する方法の違いは何ですか?開発者が修正できますか?Nvidiaはこれまたは両方を処理する必要がありますか?

@Seefer誤解しています... G-Syncは、カーソルのフレームレートではなく、モニターのリフレッシュレートを調整することで機能します。
Windowsターミナル(WT)は、他の端末とは異なり、CPUではなくGPUを使用してシェルをレンダリングするため、この動作を示します。 Nvidiaは、WTをG-Syncを必要とするアプリケーションとして誤って認識します。 これについての詳細は、この号の他のコメントと上記のリンクのコメントで読むことができます。

私はこれが非常に失礼に聞こえることを知っていますが、英語を母国語としない人であり、より良い言葉がないためです。 ここにいるすべての人に、ウィンドウアプリケーションのG-Syncをオフにすることを_強く_お勧めします。 Nvidiaは非常に低レベルのエキスパート専用ノブを備えているため、デフォルトのままにしておく(つまり無効にする)ことを検討する必要があります。 Nvidiaコントロールパネルの設定は次のようになります。
image

有効にしたい状況はごくまれです。 基本的に、この設定を変更したいのは、モニターのネイティブリフレッシュレート(144Hz、240Hzなど)で実行されないウィンドウ(非フルスクリーン)ゲームまたはその他のグラフィカルアプリケーションがある場合のみです。

私は今あなたの主張を理解しています。 残念ながら、Gsyncのフルスクリーンまたはウィンドウモードの設定オプションは、ゲーマーとしての私にとって実際にはオプションではありません。 ALT-TABをうまく処理できないゲームでのグラフィックスデバイスの損失の問題を回避できるため、可能な限り、主にボーダレスフルスクリーンでゲームを実行します。 また、ゲームがクラッシュした場合にデスクトップに戻って、フリーズしたゲームのタスクを終了するためにタスクマネージャーまたはプロセスエクスプローラーを起動する方が簡単です。 Windowsターミナルのマウスの動作が解決されるまで、ターミナルのニーズに合わせてCmderを使い続けると思います:(

@Seefer G-Syncの利点は、アプリケーション/ゲームのフレームレートがモニターに追いつかない場合に画面が裂けるのを防ぐことです。 また、技術的にウィンドウ化された(フルスクリーンウィンドウ化された)アプリケーションは、モニターに表示される前にDWMによって最初に合成されるため、画面がティアリングすることはありません。 だから私は個人的にどのゲームがウィンドウモードでG-Syncを必要とするのか疑問に思っています...🤔

@lhecker正確な理由はわかりませんが、ウィンドウ(ボーダーレスフルスクリーン)モードのG-Syncは、私にとって目に見える違いをもたらすので、そのままにしておきます。 それがないと、可変リフレッシュレートが正しく機能せず(私はいくつかのことを試しました)、フレームレートはWindowsまたはNvidiaドライバーのいずれかによってクランプされると思います。 これは私が最近プレイしたすべてのゲームに当てはまります。 私は2台のG-Syncモニターを持っているので、ボーダレスフルスクリーンを使用することを好みます。

以前、ゲームはフルスクリーンモードの場合にのみドライバーに排他的にアクセスできることを読んだことを覚えていますが、数年前、ボーダレスフルスクリーンもゲームに排他的アクセスを提供し始め、マルチモニターセットアップを簡単に使用できるという利点がありました。

また、端末にフォーカスが設定されている限り、マウスが端末上にない場合でもこれが発生することにも言及する必要があります。 ターミナルを使用して画面を選択すると、マウスを動かした場所でマウスが遅れます。 焦点を外すと、すべてが完璧です。

@jalada @SirJsonなど、「正しい方法」でオーバーライドする必要があります。 Store / UWPのものについては、内部名<string>Microsoft.WindowsTerminal_8wekyb3d8bbwe</string>を使用する必要があります。 C:\Program Files\WindowsApps権限をいじる必要はありません。

.nipで終わるファイルとして保存し、NVIDIA ProfileInspectorでファイルをインポートします。

<?xml version="1.0" encoding="utf-16"?>
<ArrayOfProfile>
  <Profile>
    <ProfileName>Windows Terminal Gsync Fix</ProfileName>
    <Executeables>
      <string>windowsterminal.exe</string>
      <string>c:/program files/windowsapps/microsoft.windowsterminal_1.1.2021.0_x64__8wekyb3d8bbwe/windowsterminal.exe</string>
      <string>Microsoft.WindowsTerminal_1.1.2021.0_x64__8wekyb3d8bbwe</string>
      <string>Microsoft.WindowsTerminal_8wekyb3d8bbwe</string>
    </Executeables>
    <Settings>
      <ProfileSetting>
        <SettingNameInfo>G-SYNC</SettingNameInfo>
        <SettingID>279476687</SettingID>
        <SettingValue>1</SettingValue>
        <ValueType>Dword</ValueType>
      </ProfileSetting>
    </Settings>
  </Profile>
</ArrayOfProfile>

またはこれから解凍します:
Nvidia-Terminal.zip

ストアのインストールに必要なのは<string>Microsoft.WindowsTerminal_8wekyb3d8bbwe</string>です(私のPC / Win /ドライバーでは、他の構成をテストできないため、他の「ある程度」妥当と思われるものはすべて残しました)。

NVがそのようなプロファイルにどのように名前を付けるか( Microsoft ... / Windows ...名前が一貫していない)、将来のドライバーが独自のプロファイルを出荷した場合にこのカスタムプロファイルがどうなるかわかりませんでした。

[以前のドライバー445.78では、スタートメニューもこの半分の時間、約32Hzのリフレッシュレートのように動作していました。 451.85などの新しいドライバーで修正済み]

@jalada @SirJsonなど、「正しい方法」でオーバーライドする必要があります。 Store / UWPのものについては、内部名<string>Microsoft.WindowsTerminal_8wekyb3d8bbwe</string>を使用する必要があります

.nipで終わるファイルとして保存し、NVIDIA ProfileInspectorでファイルをインポートします。

<?xml version="1.0" encoding="utf-16"?>
<ArrayOfProfile>
  <Profile>
    <ProfileName>Windows Terminal Gsync Fix</ProfileName>
    <Executeables>
      <string>windowsterminal.exe</string>
      <string>c:/program files/windowsapps/microsoft.windowsterminal_1.1.2021.0_x64__8wekyb3d8bbwe/windowsterminal.exe</string>
      <string>Microsoft.WindowsTerminal_1.1.2021.0_x64__8wekyb3d8bbwe</string>
      <string>Microsoft.WindowsTerminal_8wekyb3d8bbwe</string>
    </Executeables>
    <Settings>
      <ProfileSetting>
        <SettingNameInfo>G-SYNC</SettingNameInfo>
        <SettingID>279476687</SettingID>
        <SettingValue>1</SettingValue>
        <ValueType>Dword</ValueType>
      </ProfileSetting>
    </Settings>
  </Profile>
</ArrayOfProfile>

またはこれから解凍します:
Nvidia-Terminal.zip

ストアのインストールに必要なのは<string>Microsoft.WindowsTerminal_8wekyb3d8bbwe</string>だけです。

NVがそのようなプロファイルにどのように名前を付けるか( Microsoft ... / Windows ...名前が一貫していない)、将来のドライバーが独自のプロファイルを出荷した場合にこのカスタムプロファイルがどうなるかわかりませんでした。

[以前のドライバー445.78では、スタートメニューもこの半分の時間、約32Hzのリフレッシュレートのように動作していました]

それをありがとう。 素晴らしいツール。 他にもたくさんのNvidiaプロファイル設定が隠されていることに気づいていませんでした。 私はすでにWindowsTerminal実行可能ファイルをNvidiaプロファイルに追加していましたが、そこで公開されているGSYNC設定をいじることなく、WindowsTerminalのマウスキャプチャ動作を調整することができました。

プロファイルごとに、グローバルGSYNCモードをウィンドウまたはフルスクリーンからフルスクリーンに動的に変更していないようです。 Nvidiaコントロールパネルを使用してGSYNCモードをフルスクリーンに設定すると、Windowsターミナルのマウスの問題は実際になくなりますが、このプロファイルインスペクターツールを使用してGSYNCモードをフルスクリーンに設定してからWindowsターミナルを実行すると、プロファイル設定ができないかのようにマウスの問題が残りますグローバル設定を上書きします。 これはすべて非常に苛立たしく、どちらの当事者が修正を行う必要があるのか​​明確な考えがありません(NvidiaまたはWT開発者)。 これが解決されるまで、私はCmderを使い続けています。これは、WTがWSL2を使用してどのように機能するかを完全に掘り下げているため残念です:(

@jalada @SirJsonなど、「正しい方法」でオーバーライドする必要があります。 Store / UWPのものについては、内部名<string>Microsoft.WindowsTerminal_8wekyb3d8bbwe</string>を使用する必要があります
.nipで終わるファイルとして保存し、NVIDIA ProfileInspectorでファイルをインポートします。

<?xml version="1.0" encoding="utf-16"?>
<ArrayOfProfile>
  <Profile>
    <ProfileName>Windows Terminal Gsync Fix</ProfileName>
    <Executeables>
      <string>windowsterminal.exe</string>
      <string>c:/program files/windowsapps/microsoft.windowsterminal_1.1.2021.0_x64__8wekyb3d8bbwe/windowsterminal.exe</string>
      <string>Microsoft.WindowsTerminal_1.1.2021.0_x64__8wekyb3d8bbwe</string>
      <string>Microsoft.WindowsTerminal_8wekyb3d8bbwe</string>
    </Executeables>
    <Settings>
      <ProfileSetting>
        <SettingNameInfo>G-SYNC</SettingNameInfo>
        <SettingID>279476687</SettingID>
        <SettingValue>1</SettingValue>
        <ValueType>Dword</ValueType>
      </ProfileSetting>
    </Settings>
  </Profile>
</ArrayOfProfile>

またはこれから解凍します:
Nvidia-Terminal.zip
ストアのインストールに必要なのは<string>Microsoft.WindowsTerminal_8wekyb3d8bbwe</string>だけです。
NVがそのようなプロファイルにどのように名前を付けるか( Microsoft ... / Windows ...名前が一貫していない)、将来のドライバーが独自のプロファイルを出荷した場合にこのカスタムプロファイルがどうなるかわかりませんでした。
[以前のドライバー445.78では、スタートメニューもこの半分の時間、約32Hzのリフレッシュレートのように動作していました]

それをありがとう。 素晴らしいツール。 他にもたくさんのNvidiaプロファイル設定が隠されていることに気づいていませんでした。 私はすでにWindowsTerminal実行可能ファイルをNvidiaプロファイルに追加していましたが、そこで公開されているGSYNC設定をいじることなく、WindowsTerminalのマウスキャプチャ動作を調整することができました。

プロファイルごとに、グローバルGSYNCモードをウィンドウまたはフルスクリーンからフルスクリーンに動的に変更していないようです。 Nvidiaコントロールパネルを使用してGSYNCモードをフルスクリーンに設定すると、Windowsターミナルのマウスの問題は実際になくなりますが、このプロファイルインスペクターツールを使用してGSYNCモードをフルスクリーンに設定してからWindowsターミナルを実行すると、プロファイル設定ができないかのようにマウスの問題が残りますグローバル設定を上書きします。 これはすべて非常に苛立たしく、どちらの当事者が修正を行う必要があるのか​​明確な考えがありません(NvidiaまたはWT開発者)。 これが解決されるまで、私はCmderを使い続けています。これは、WTがWSL2を使用してどのように機能するかを完全に掘り下げているため残念です:(

動作しているようです。 コントロールパネルで以前のWTプロファイルを削除し、.nipファイルを使用してNvidiaプロファイルインスペクターを使用してインポートする必要がありました。 私はすでにWTプロファイルを持っていたので、WT実行可能プロファイル設定にアクセスするためにあなたのプロファイルをインポートする必要はないと思いました。 今はうまくいっているようです。 グローバルGSYNCモードをウィンドウまたはフルスクリーンのままにすることができます。WTを起動した場合にのみ、プロファイルがGSYNCモードをフルスクリーンに調整します。

どうもありがとう!

@Seefer G-Syncの利点は、アプリケーション/ゲームのフレームレートがモニターに追いつかない場合に画面が裂けるのを防ぐことです。 また、技術的にウィンドウ化された(フルスクリーンウィンドウ化された)アプリケーションは、モニターに表示される前にDWMによって最初に合成されるため、画面がティアリングすることはありません。 だから私は個人的にどのゲームがウィンドウモードでG-Syncを必要とするのか疑問に思っています...🤔

「ボーダーレスウィンドウ」モードで実行するゲームは、基本的にウィンドウゲームであり、WindowsOSクロームは含まれていません。 このモードは何年も前から存在しています。 WIN32でプログラミングしているときに使用したことを覚えています。

@Seeferだからこそ、非独占的なフルスクリーンアプリケーションにG-Syncが必要な人がいる理由を私が個人的に完全に把握していません。 G-Syncが提供するものはすべて、DWMも同様に行うものであるため、大きなメリットはありません。 (V-Syncを有効にすることを忘れなかったと仮定します。)

いずれにせよ、起こる必要があるのは、Nvidiaが彼らの側でそれを修正することです。 また、カーソルを非表示にするフルスクリーンウィンドウアプリケーションに対してのみG-Syncを有効にする必要があり、すべての通常のウィンドウアプリケーションを有効にする必要はありません。

@Seeferだからこそ、非独占的なフルスクリーンアプリケーションにG-Syncが必要な人がいる理由を私が個人的に完全に把握していません。 G-Syncが提供するものはすべて、DWMも同様に行うものであるため、大きなメリットはありません。 (V-Syncを有効にすることを忘れなかったと仮定します。)

これは今、非常に話題から外れていますが、例えば:
Overwatch, shows that, no, with G-SYNC enabled, both borderless and windowed mode do not add 1 frame of delay over exclusive fullscreen. Standalone “V-SYNC,” however, does show the expected 1 frame of delay.ソース

また、カーソルを非表示にするフルスクリーンウィンドウアプリケーションに対してのみG-Syncを有効にする必要があり、すべての通常のウィンドウアプリケーションを有効にする必要はありません。

確かに、カーソルを隠さないゲームと隠さないゲームの両方がある可能性がありますか? 誤解してしまったことをお詫びしますが、メディアプレーヤーがカーソルを隠すとゲームにはならず、ゲームでもWindowsカーソルを表示し続けることができると思います。

@Luckz数か月前にソリューションを投稿したことに気づきましたが、G-Syncが正確にどのように機能するかを覚えていなかったため、アプリケーションレベルでも修正できるかどうかわかりませんでした。 最近では、トースターでもオンにできるので、そのオプションの実際の意味を忘れがちです。 それは私の悪いことですが、当時、私がソリューションを投稿したときに、そもそもウィンドウ化されたG-Syncを有効にすることがいかに愚かであるかについても言及しました。 それ以来、問題は1つもありませんでした。

その後、私からのすべての議論は、「Nvidiaがこれに気付くまで待つ」ではない解決策を探すことについてでした。 しかし、それが実際の修正の唯一のオプションであり、ソフトウェアレンダリングはそれまでの回避策です。

悪い意味ではないことは承知していますが、名前が頻繁に表示されるからといって、ユーザーが最大の問題を抱えているわけではありません。

@Luckz私たちは少しずれていることに同意します、そして私はそれについてちょっと責任があると信じています。 ごめんなさい。 😅

しかし、特にそれが事実上間違っているか、少なくともかなり誤解を招くため、その記事が言及されることを期待していました。 その記事が査読されたわけではないということですか? それで、その記事の著者が彼ら自身の結果をどのように誤解しているかを最後にもう一度説明させてください。
V-Syncが使用されているにもかかわらず、アプリケーションのフレームレートは実質的に142 FPSに制限されており、フレームレートはとにかく144FPSに制限されます。 tl; dr:V-Syncを使用する場合は、フレームレートに上限を設定しないでください。
あなたの記事の著者はまさにその間違いを犯し、あなたが定期的/常に1フレームの遅延を得ると誤って彼らに(そしてあなたは信じています)、それは真実から遠く離れることはできませんでした。 実際、アプリケーションのフレームレートとモニターのリフレッシュレートのこの「不整合」のために、144フレームごとに2つだけが遅延しています。
ここで適切な比較を見ることができます(最初の画像を144Hz以上のバージョンに切り替える必要があります)。 0〜2msの違いを比較するために:高価で最新の144Hzモニターは、通常、測定されたGtG応答時間が約4msであり、多くの人がそれに気付いたことはないと思います。 😄

修正/回避策を提供してくれた

まとめる前に経験した症状に、WindowsTerminalが原因であると付け加えておきます。
Windows 10 20H2(OSビルド19042.450)の実行GSYNCモニターが黒くなり、再びオンにならないのを見ました(再起動が必要です)。 また、3台のモニターすべてで黒い画面が点滅しているのが見られます。 修正を適用すると、問題はなくなったようです。

こんにちは、みなさん、
私は同じ問題を抱えています。
最初は自分のラップトップが問題を抱えていると思っていましたが、その後、特定の種類のアプリケーション、特にWindowsストアアプリケーションでも問題が発生していることに気付きました。 Splashable、WhatsApp、Windows Terminal、Speedtestなどが発生していることに気づきました。
私のラップトップはASUSROG Zephyrus Duo 15GX550LWSです
スペックはこちら
私の外部モニターは、165Hzで動作するASUS VG278QR(GSYNC互換)ゲーミングモニターです。

GSYNCをフルスクリーンモードに設定するのはばかげていますが、問題は解決します。
また、私のGPUはMax-Q設計であるため、オプティマスモードとディスクリートグラフィックモードを切り替えるオプションがあります。 上記のアプリケーションに焦点を当てたディスクリートグラフィックモードでは、マウスの動きやアプリケーション内の何かが変更されない限り、ラップトップの2番目の画面が真っ暗になります。 これはレンダリングフレームに関係していると思います。

Splashable、WhatsApp、Speedtestなどがあります。

それらすべてのプロファイルを作成し、将来のドライバーリリースに含めるために理想的にはNvidiaに送信することを歓迎します。

古い問題を積み重ねるのは嫌いですが、通常の修正(「モニターテクノロジー」を「修正された更新」に設定したカスタムプロファイルの追加)が実際には機能していないようです。 LG38GL950Gウルトラワイドモニターを100Hzに設定しています。 オンにできるハードウェアリフレッシュレート表示があります。 アプリのGSyncを無効にするように設定されたプロファイルを使用しても、ターミナルがフォアグラウンドアプリの場合は、12FPSまで低下します。

私はウィンドウゲームを頻繁にプレイするため、ウィンドウアプリのG-Syncをオフにすることはできません。 これでこの動作は解決されますが、悪影響が多すぎます。

あなたたちはそれを機能させるためにプロファイルで何か違うことをしていますか?

Splashable、WhatsApp、Speedtestなどがあります。

それらすべてのプロファイルを作成し、将来のドライバーリリースに含めるために理想的にはNvidiaに送信することを歓迎します。

この問題は、UWPテクノロジがウィンドウ描画を処理する方法の根本的な問題であると思われるため、Microsoftにアップストリームする必要があります。できれば、次のWindowsビルドで修正できると思います。 UWP以外のプログラムでは、この奇妙な動作は発生しません。

アプリのGSyncを無効にするようにプロファイルが設定されている場合でも

あなたは正しいアプリを手に入れましたか? おそらく、アプリとして使用しているものを貼り付けます。 (上記のいくつかの投稿をチェックして、通常は何が機能するかを確認した後)

アプリのGSyncを無効にするようにプロファイルが設定されている場合でも

あなたは正しいアプリを手に入れましたか? おそらく、アプリとして使用しているものを貼り付けます。 (上記のいくつかの投稿をチェックして、通常は何が機能するかを確認した後)

プログラムとしてc:\ program files \ windowsapps \ microsoft.windowsterminal_1.3.2651.0_x64__8wekyb3d8bbwe \ windowsterminal.exeを使用しています。これは、タスクマネージャーによる実行可能イメージへのパスです。 同じフォルダでWT.EXEも試しました。

そこで、上記で提案したようにGSyncをフルスクリーンに設定しようとしましたが、それは役に立ちませんでした。 私は自分のマシンでGysncを完全に無効にし、マウスのちらつきを修正した場合(リフレッシュレートが低い)、ウィンドウを移動すると、まだ遅延が発生します(GSyncなし)。

他にどのようなオプションを試すことができますか?

あなたは正しいアプリを手に入れましたか? おそらく、アプリとして使用しているものを貼り付けます。 (上記のいくつかの投稿をチェックして、通常は何が機能するかを確認した後)

プログラムとしてc:\ program files \ windowsapps \ microsoft.windowsterminal_1.3.2651.0_x64__8wekyb3d8bbwe \ windowsterminal.exeを使用しています。これは、タスクマネージャーによる実行可能イメージへのパスです。 同じフォルダでWT.EXEも試しました。

だからこそ私は尋ねました。 あなたは使用する必要がありますMicrosoft.WindowsTerminal_8wekyb3d8bbwe 。 上記のプロファイルをアップロードしました(必要のない他のバリアントが多すぎます)。 最小値は次のとおりです。
Nvidia-Terminal.zip

https://github.com/Orbmu2k/nvidiaProfileInspector/releasesスクープscoop install nvidia-profile-inspector )で適用します。 ツールバーのインポートボタンをクリックし、それに.nip(s)をフィードすると、準備が整います。

私がいくつかのプロファイルを作成した問題のあるいくつかのアプリ:
注: Microsoft.Office.OneNote_8wekyb3d8bbwe
ペイント3D Microsoft.MSPaint_8wekyb3d8bbwe
スニップ&スケッチMicrosoft.ScreenSketch_8wekyb3d8bbwe
XboxアクセサリーMicrosoft.XboxDevices_8wekyb3d8bbwe
カメラ(既存のNvidiaプロファイルをオーバーライドする必要があります)
Cortana /検索UI(既存のNvidiaプロファイルをオーバーライドする必要があります)
フィードバックハブMicrosoft.WindowsFeedbackHub_8wekyb3d8bbwe
Microsoft To Do Microsoft.Todos_8wekyb3d8bbwe

第三者:
アマゾン: Amazon.com.Amazon_343d40qqvtj1t
Windows用Amazonプライムビデオ: AmazonVideo.PrimeVideo_pwbj9vvecjh7j
Liberty Global Horizo​​n Go: LibertyGlobal.HorizonGODE_gmwgfebrpy77e
私の現在の12のプロファイルコレクション: Nvidia-UWP-NoGsync-Profiles.zip

しかし、他にも数え切れないほどあります(Mixed Reality Portal、3D Viewer、...)

また、この問題を存続/要約します。 Windowsターミナルバージョン1.3.2651.0(chocoとともにインストール)でのこれまでの最良の修正は、「experimental.rendering.software」です。settings.jsonでtrueです。

欠点:Windowsターミナルは引き続きゲームとして扱われるため、GsyncモニターにゲームとWindowsターミナルウィンドウを表示することはできません。

利点:WindowsターミナルはMicrosoft Store経由でインストールされるため、サードパーティのnvidiaProfileInsepctorを使用しない限り、Nvidiaコントロールパネルの修正を簡単に適用することはできません。

このページは役に立ちましたか?
0 / 5 - 0 評価