- Windows 10 PCにChrome Remote Desktopを設定して(サーバ側)、別のパソコン(クライアント側)からアクセスして使っていたら、「設定」や「スタートメニュー」など、一部の表示が崩れたり、反応しなかったりするようになってしまいました。
- サーバ側の画面では正常に表示されているので、画面転送の際に本来 再描画が必要な画面領域がきちんと更新されていないようです。
- Windowsの「システムの詳細設定」の「パフォーマンス」から「視覚効果」をオフにしていくと、ちゃんと表示されるようになりました。
- その後、もう一度 「視覚効果」を有効にすると、それでも問題は再現されませんでした。
どうも、サーバ側のリモートデスクトップのキャッシュにあった何らかの不具合がリセットできたようです。
1. Chrome リモートデスクトップを通すと表示が崩れる
普段は MacBook を主に使っているのですが、よく Windows PC(とくに Word, Excel など)を操作しないことがあります。
いちいちパソコンのところまで移動するのも面倒なので、簡単な作業なら「Chrome リモートデスクトップ」で操作しています。
- Windows PC側に「Chromeリモートデスクトップ」をインストールして、リモートアクセスを受入可能に「許可」しておきます。
- すると、MacBookから「Chrome リモートデスクトップ(remotedesktop.google.com)」でGoogleアカウントにログインすると、遠隔操作ができるのです。
今回のリモートアクセスでは、
Windows PC がサーバ側(遠隔操作される方)
MacBook がクライアント側(遠隔操作する方)です。
ところが、リモートデスクトップで表示したときに表示崩れが生じました。
- スタートメニューのアプリ一覧の文字が異様に小さかったり、
- 「設定」のメニューを切り替えても表示が更新されず文字が重なったり、
- Excelで画面をスクロールしても表示が変わらなかったり、
どうも、表示の「リフレッシュ」がうまくいっていないようなのです。
ただし、いくつかのパソコンにつないでも、この Windows 10 のPCだけ(Acer Gateway NE574-H14G/F(2017年販売))です。
あまり性能が高くないのが原因なのかもしれません。
2. Remote Desktop接続での表示崩れの事例
「Chrome Remote Desktop windows corrupt」で検索すると、似た事例を見つけました。
コンピュータ自体はリモート操作できるので、遠隔表示される画像が破損しているのです。
Chrome リモート デスクトップの画像破損
コンピュータに接続すると、表示されるディスプレイが破損します。メニューをクリックするとメニューが開くのですが、自分側からはメニューが表示されません。何かが表示された場合、通常は破損しています。コンピュータ自体は物理的には正常ですが、Chrome リモート デスクトップ上で表示されるリモート ディスプレイのみがこのように破損しています。
Chrome Remote Desktop Image Corruption – Google Chrome Community
ただ、Google Chrome Communityでの この質問(2023-05-14)には、調査時点(2023-10-05)でも まだ回答がありませんでした。
さらに「リモートデスクトップでの表示崩れ」で調べると、
(Chrome Remote Desktopではないのですが)
Microsoft の Remote Desktop 接続での事例をいくつか見つけました。
原因を推測する手がかりになりそうです。
2-1. 色深度の違い(ディスプレイの色設定)
まず、「色深度」の違いが原因になることもあるようです。
サーバ側(受け入れ側)のシステムが古かったり、ディスプレイ設定を低画質にしていると、表示がうまくいかないことがあるようです。
Win10 は、色深度が 16 ビット未満では win2012 より前にアクセスできません。
Corrupt display elements in Remote Desktop – Microsoft Community
2-2. クライアント側の画像キャッシュが正しくない
あるいは、「Remote Desktop接続」の内部の「ビットマップ・キャッシュ(Bitmap Cache)」が破損してしまっていることが原因のケースもあるようです。
スタートメニューなど よく表示される画像は、いちいちリモート送信せず クライアント側(手元のPC)で用意してある「画像キャッシュ」を表示することで、通信データを節約する仕組みがあります。
しかし、その「画像キャッシュ」がうまく読み込めないと、その部分の表示がおかしくなるのです。
画面は黒で、グレーやその他のピクセル化されたばかげた部分があります。
ローカルにキャッシュされたビットマップに問題がある可能性が高くなります。ビットマップ キャッシュをクリアするには、RDCMan を閉じ、ローカル マシン (リモート サーバーではありません) のこのフォルダーからキャッシュ ファイルを削除します。
ビットマップ キャッシュは、[スタート]ボタンを表示するビットマップなど、一般的に使用されるビットマップをクライアント コンピュータ上のファイルに配置します。これにより、接続上で渡す必要がある表示情報の量が最小限に抑えられ、パフォーマンスが向上します。
リモート デスクトップ接続マネージャーの表示が歪んでいる – 250 Hello
3. ディスプレイの設定を確認した
これらの情報を参考に、今回のトラブルの原因を探っていきます。
まず、リモート接続での画面送受信でのディスプレイ設定の問題の可能性を確かめました。
まず、グラフィックスやディスプレイの設定を確認してみました。
デスクトップ上で右クリックして、メニューを確認します。
3-1. ディスプレイの詳細設定(リフレッシュレートや色深度)
まずは、設定の「ディスプレイの詳細設定」を見てみます。
「リフレッシュレート」の 60.016 Hz や
「ビットの深度」の 8ビットが気にはなりました。
ただ、リフレッシュレートは 60.016 Hz しか選択肢がないのです。
「ディスプレイ アダプターのプロパティを表示」して、
有効な「モードの一覧」で見ると、
「True Color(32 ビット) 60ヘルツ」なので、問題はなさそうです。
3-2. ディスプレイアダプターの追加設定を見ても問題ない
「インテル グラフィックスの設定」を確認しても、特に気になる設定は見つかりませんでした。
この設定画面は、メーカー独自の提供する追加の設定項目です。
パソコンで利用している「ディスプレイ アダプター」の種類によって違うので、ない場合もあります。
4. パフォーマンスに占める「デスクトップ統合プロセス」
処理が「遅延」している可能性もあるので、
「タスクマネージャー」から「パフォーマンス」を確認してみました。
CPU負荷は 30%ほど。
比較的 低性能のCPU(Intel Celeron 2コア 1.6GHz)ではありますが、
「CPUがフル回転(100%)なのに遅れている」というわけではないようです。
ただ、やはり「デスクトップ統合プロセス」が 15%程度の負荷になっていました。
「デスクトップ統合プロセス」は、Googleの「remote_desktop.exe」です。
リモートデスクトップの接続中は 常にCPU負荷がかかっていますね1。
4-1. Windowsの「視覚効果」を切る
画面表示のパフォーマンスを上げるために、Windowsのアニメーション効果などを抑制することにしました。
というのも、スクロールや表示などのアニメーション表示の開始時の画面が表示されたままになっているようだからです。
アニメーション表示の途中や終了時の画面にきちんとリフレッシュされていません。
CPU性能に余裕がない場合は、Windowsのアニメーション効果をオフにすると「キビキビ」動くようになります。
「視覚効果」の項目にある、
- ウィンドウを最大化や最小化するときにアニメーションで表示する
- メニューをフェードまたはスライドして表示する
- リスト ボックスを滑らかにスクロールする
などが関係していそうです。
「パフォーマンスオプション」の画面は、「視覚効果、プロセッサのスケジュール、メモリ使用、および仮想メモリ」の設定を変更できます。
「設定」の「システム」、「詳細情報」にある「システムの詳細設定」のリンクから表示します。
PC全体の設定変更になるので管理者権限が必要です。
4-2. 視覚効果を「パフォーマンスを優先」に変更したら直った
「パフォーマンスを優先」を選ぶと、すべての視覚効果をオフになります。
すると、ちゃんと クライアント側のリモートデスクトップ上でも正しく表示されるようになりました。
メニューもスクロールも正しく表示されます。
タスクマネージャーを見ると、CPU負荷も軽減されています。
4-3. 視覚効果をオンに戻しても問題がなくなっていた
ただ、視覚効果を切ると かなり「無骨」な感じになります。
ですので、オフにするのは原因に関係する最低限にしたいものです。
ふだんの表示操作で遅く感じないパソコンなら、
やっぱり視覚効果があったままの方が「楽しい」と思います。
そこで、もう一度 パフォーマンスの視覚効果をオンにしてみました。
ところが、今度はすべてを有効にしても、表示が崩れることはなくなりました。
一度 Windowsを再起動して、タスクマネージャーを確認してみると、もっとCPU負荷が減っていました。
リモートデスクトップを使用中なのに「デスクトップ統合プロセス」の負荷が 1%未満になっていたのです。
リモートデスクトップでも、すっきり動作するようになりました。
このことを考えると、どうも 一度 視覚効果のオン・オフを切り替えたことで、サーバ側のリモートデスクトップ内のキャッシュに生じていた不具合が解消されたようです。
もし、Chrome リモートデスクトップが「重い」ときには、パソコンの視覚効果の切り替えてみると、うまく動き出すようになるかもしれません。