私の環境では長い間この問題に困っていましたが、解決策を発見したので記録として残しておきます。
環境
・GPU: NVIDIA GeForce RTX 2070
・OS: Windows 10/Windows 11(どちらの環境でも発生)
・Unity: 6000以降のバージョン
・NVIDIAドライバー: 577.0(もっと前からずっと発生してましたけど)
・ディスプレイ: マルチディスプレイ(4K:150%拡大 + フルHD:100%)
この記事は私の環境での事例です。
他の環境だと違うかもしれません。けど、色々試して駄目だったら、これも試してみたら解決するかもしれません。
スポンサーサイト
発生していた問題:Unity 6000エディタの表示異常
私はWindows 11、RTX 2070のマルチディスプレイ環境でUnity開発を行っていますが、Unity 6000にアップデートしてから、エディタの表示に以下のような現象が発生していました。
発生していた現象:
・エディタ画面全体がちらつく・点滅する
・パネルがまともに表示されない。真っ黒になる
・Unity 6000以降で発生(以前のバージョンでは問題なし)
・他のアプリケーションでは問題なし
まったく作業にならないレベルでした。
解決策
私の場合、解決方法が2つありました。
どちらでも良いと思いますが、可能なら方法1の方が良いかなと思います。
解決方法1:NVIDIAのマルチフレームサンプリングAA(MFAA) 無効化
(1)デスクトップを右クリックして「NVIDIAコントロールパネル」を開く
(2)左メニューから「3D設定の管理」をクリック
(3)「プログラム設定」タブを選択
(4)カスタマイズするプログラムとして unity.exeを選択
選択リストに無い場合は「追加」ボタンをクリックしてUnity.exeを選択
(5)設定一覧から「マルチフレームサンプリングAA(MFAA)」を探し、
「オフ」に変更
(6)「適用」をクリック
(7)Unityエディタを再起動
MFAAとは
MFAA(Multi-Frame Anti-Aliasing)は、アンチエイリアシング技術だそうです。一部のアプリケーションで表示問題を引き起こすことがあるようで、Unity 6000のDirectX 12レンダラーとの相性が悪いようです。
解決方法2:コマンドライン引数 -force-d3d11 を設定
(1)Unity Hubのプロジェクトで、開きたいプロジェクトの「…」をクリック
(2)「コマンドライン引数を加える」を選択
(3)-force-d3d11 を追加
(4)「保存」をクリックしてプロジェクトを開く
この方法はDirectX 11を強制使用するため、Unity 6000のDirectX 12の機能を利用できなくなると思います。
他の解決方法
他にも同様の現象に対して、以下の方法で解決したという報告もありました。
私の環境では解決しませんでしたが、試してみても良いかも。
・DPIスケーリング関連: Windowsの表示スケーリングを100%に変更、Unity.exeの互換性設定変更、カスタムスケーリングリセット
・モニター環境変更: メインディスプレイを1080pに変更、シングルディスプレイでの動作確認
・NVIDIA設定: 垂直同期の変更、電源管理モードの変更
・G-Sync関連の問題:G-Sync対応モニターの場合、NVIDIAコントロールパネルでG-Syncを無効化。うちのは対応してないので関係なかった。
まとめ
どうにか解決して良かったです。
Unity 6000エディタのちらつき問題は、環境によって様々な原因が考えられます。
原因の詳細は不明です。
同じ問題で困っている方の参考になれば幸いです。
スポンサーサイト