テストでは、友人のコンピューターからネットワーク経由でフルHDムービーをストリーミングできました。問題ありません。それは私が望めるのと同じくらい速いです。
しかし、VNCは非常に遅いです。私たちはReal VNCとTight VNCを試しましたが、私はCapture Method
設定ですが、違いはないようです。それはとても遅いです。
誰かがVNCの使用に関するヒント、速度を改善する方法、またはおそらく他の選択肢を持っていますか?
画面の無効化された部分に十分迅速に気付かないという性質ですか、それともおそらくネットワークの速度が低下しているのでしょうか?
どちらもWindows 7を使用しています。
お互いのPCを表示および制御できる必要がありますなしホストをロックアウトするため、RDPは機能しません(他の人が知らない限り)。
VNCはまったく非効率的です。 VNCは、一連のスクリーンショットを撮り、それらを圧縮し、ネットワーク全体に流し込むことにより、かなり機能します。
Windowsの場合、RDPを使用するとパフォーマンスが向上しますが、適切なRDPを実現するには、サーバー/ソース側でプロ以上の能力が必要です。
奇妙なことに リモートアシスタンス は、ニーズに合わせて機能する可能性があります。RDPは、ターミナルのユーザーとリモートシステムのユーザーの両方に同じ画面が表示されます。
編集:4年後、私は同様のタスクに nomachine を使用しています-OS間で機能し、他のいくつかの便利なことを行います。
VNCはビデオストリーミングに匹敵しません。ビデオストリーミングでは、通常、事前に圧縮されたビデオストリームをネットワーク経由で転送します。 HDストリームの場合、H.264でエンコードされることがよくあります。 VNCを使用する場合、ホストコンピュータは、ネットワークに送信する前に、画面のスナップショットを取得して圧縮する必要があります。ここにはいくつかの制約があります。
さて、ビデオコーデックとリモートコントロールおよび画面共有ユーティリティによって適用される「トリック」がいくつかあります。まず、画面の変更を検出し、変更の(圧縮された)画像のみを転送しようとします。これは通常、帯域幅と処理能力の多くを節約します。ただし、フルスクリーンのビデオ転送では、画面全体を頻繁に再転送する必要があるため、あまり役に立ちません。上記のように、ホストはビデオコンテンツをデコードしてから送信する前に生の画像を再エンコードする必要があるため、現在のマシンでは、画面コンテンツをフルHDでrel-timeエンコードしてリモートコントロールアプリケーションにストリーミングできません。それらをネットワークに。一部の古いデュアルコアマシンは、フルHDビデオコンテンツをデコードするときに限界に達しています。フルHD画像をVNCクライアントに送信する前に、画面上で再度エンコードし直す必要があることについてさえ話していません。
VNCリモコンの速度を向上させるには、次のようにします。
VNCのもう1つの問題は、画面上の変更を検出する必要があることです。一部のVNC実装は「ダム」スクリーンショットを実行し、それらを前のスクリーンショットと比較して変更を検出します。これはすでに多くの力を取っています。より高度な実装のいくつかは、ここではより効率的ですが特別なドライバーのインストールが必要な特別なディスプレイドライバー(UltraVNCを確認)で動作します。
もちろん、ホストマシンでビデオを再生している場合、これはすべて役に立ちません。この場合、VNCは1秒あたり最大30のフルスクリーン画像を再エンコードし、ネットワーク経由で送信する必要があります。今日のCPUがリアルタイムで実行できるほとんどの圧縮では、そのようなストリームは8Mbps以上の帯域幅を必要とします。したがって、ほとんどのインターネット接続には適していません(特に、アップロード速度が1Mbps未満の非対称DSL接続について考えてください。そうです、ホスト側で重要なのはアップロード速度です)。
これはLANの使用に適しているかもしれませんが、ここではおそらく、メディアサーバーのセットアップについて、またはDLNA/UPnPメディアサーバーを使用してメディアを共有することについてさらに検討する必要があります(Win7メディアプレーヤーでもこれを実行できます)。次に、DLNAクライアントを使用して共有メディアを再生します。
私が今まで使った中で最も速いVNCバリアントは ltraVNC がインストールされた Video Mirror Driver です。 RDPは依然として著しく高速ですが、それほど悪くはありません。
ZeroRemote について本当に良いことも聞いたことがありますが、テストはしていません。 TrueRemote がその後継であるようです。
LANを介してビデオを見ようとしている場合、純粋な画面描画速度の点で最も速い解決策はおそらく Radmin です。
@Journeyman Geekが言うように、VNCは非効率的です。これは、リモートクライアントが何を表示しようとしているのかをVNCが「理解」する必要がないように設計されています。
RDPは実際にそうするので、ショートカットを取得して画像をより速くレンダリングできます。 RDPは、画面の変更を表すビットマップデータを送信する代わりに、たとえば、「クライアントがこの場所でウィンドウを開いた」などのもう一方の端を通知します。
それらを備えていないWindowsのバージョンにRDP機能を追加する「ターミナルサーバー」ハックがありますが、私はそれらを公式に推奨していません。自己責任で使用してください。ただし、Windows 7の「スターター」バージョンにも「リモートアシスタンス」(msra.exe)が付属していると思います。
ただし、VNCパフォーマンスを向上させるためにできることには、表示深度を8ビットに下げる、クライアント画面の解像度を下げる、クライアント側のビットマップキャッシュを使用するなどがあります。つまり、VNCが送信するデータが少なくて済み、パフォーマンスが向上します(ただし、見栄えがよくありません)。
また、TeamViewerを試すこともできます。非商用利用は無料で、私にとってはかなり高速でした。ただし、HDビデオではテストしていません。
VNCを使用する必要がないパフォーマンスを求めている場合は、 LogMeIn のようなものを試してください。無料で問題なく動作します。
私にとっては、インターネット(pingレートが50ミリ秒を超え、適切な帯域幅が1メガビット/秒を超える)を使用している場合でも、UltraVNCで非常に優れた動作が得られます。魔法は、接続設定の変更に付属しています。
ビューアを起動した後、[接続オプション]に移動し、[最適な設定を自動選択]を無効にし、[タイト]を有効にし、必要に応じて[Jpeg]を下げて品質を下げます(2〜4は正常に動作します)。
これが、フルカラーを適切なパフォーマンスで使用する唯一の方法です。その後、フルスクリーンムービーで高速スライドショーを実行するのに十分な数fpsが得られます(リモート開発を含め、実際の映画の視聴が遅すぎてオーディオがないため、私がやっていることすべてに十分です)。
また、サーバーの「プロパティ」では、「全画面のポーリング」、「フォアグラウンドウィンドウのポーリング」、「カーソルの下のウィンドウのポーリング」、「システムHookDll」、「低精度」がオンになっています。基本的に、左側にあるすべてのものです。