以下の回答に多くのことを追加しましたが、参照用に元の回答はそのままにしました。
TL:DR:仮想マシンはツールであり、あるOSを別のOS内で簡単に使用できる一方で、システムを最大限に活用するためには、コンピューターの本来の主な用途を十分に認識する必要があります。 。
あなたの質問は、仮想マシンを使用した場合のグラフィカルおよびインターフェースパフォーマンスの可能性に強く傾いているようです。そこで、その可能性についてお答えします。
主な問題は、デバイスへのゲストオペレーティングシステムのアクセスを安全に管理する(したがって、ゲストOSがホストを踏みにじったり、物事を壊したりしないようにする)ために、使用するすべてのデバイスを「エミュレート」する必要があることです。
これが意味することは、あなたのゲストOSが見ることができるというグラフィックスカードがあるされていることではない、あなたのホストOSが見ることができるのと同じグラフィックスカード。ゲストで3Dレンダリングなどの機能を有効にできる場合がありますが、これはゲストの中間ドライバーによって処理され、3Dでレンダリングされるようにリクエストを安全な方法でホストに渡します。
サポートされているHDMIディスプレイでブルーレイディスクを安全に再生するために必要な機能などがゲストグラフィックスカードドライバーによってエミュレートされているため、これが機能しない可能性が高いです。
基本的に、ホストでハードウェアのサポートを必要とするものは、ゲストでは、たとえあったとしても、うまく機能しない可能性があります。WiDiの仕組みはわかりませんが、テレビで共有するためにビデオカードメモリに直接アクセスする必要がある場合は、ホスト(Linux)オペレーティングシステムから使用しない限り機能しません。
それ以外のパフォーマンスに関しては、VMはメインOSである場合とほぼ同じになる可能性がありますが、ハードドライブデバイスへのアクセスまたはホストが使用している他のリソースとの競合に関しては常にペナルティが存在します。
はじめに...
最初はコンピューターがありましたが、そのコンピューターで実行できるオペレーティングシステムは1つだけでした。そのオペレーティングシステムは、マシンに搭載されている特定のプロセッサやその他のハードウェアでのみ正常に動作する傾向があり、他のオペレーティングシステムは、使用可能なネイティブハードウェアでは、たとえあったとしても、ひどくしか実行できませんでした。
ある特定のプラットフォーム用のソフトウェアを別のプラットフォームで使用できるようにするには(たとえば、Commodore AmigaでPre-OSX MacOSソフトウェアを使用する場合)、「ソフトウェアをインストールする」だけでは不十分です。これら2つのマシンは、まったく異なるプロセッサアーキテクチャと補助ハードウェアを使用していました。あるOSが別のマシンのハードウェアで実行できる方法はまったくありませんでした。
エミュレーション
エミュレーションは仮想化の従兄弟のようなものであり、実際には関連しており、同様の目標があります。一方が他方を生んだ。
これらの異なるハードウェアプラットフォームが意味することは、マシンで別のOSのソフトウェアを使用したい場合、そのマシンに関するすべてを分析して、それがどのように機能するかを確認する必要があり、次に、ハードウェア部分と同じように。これは、プロセッサ、グラフィックスコントローラー、メモリコントローラーなど、すべての部分に対して実行する必要がありました。
次に、これらすべての部品を組み合わせ、各部品が少しのハードウェアをエミュレートするときに、これをエミュレートされたマシンと呼びます。次に、このエミュレートされたマシン上でオペレーティングシステムを実行します。
問題は、このアプローチが遅いことです。単純に、元のハードウェアの1/10の速度を達成できれば幸運でした。エミュレートされたコンピューターをフルスピードに近い速度で実行するには、文字通り、ターゲットのエミュレートされたマシンよりも数倍速いマシンが必要でした。
何が変わったのですか?
さて、ここにクールなものがあります。それほどではありません。唯一の大きな変更は、ハードウェアプラットフォームが標準化されたことです。すべてのOSのカスタムハードウェアを入手するのをやめ、すべてのOSを単一の標準プラットフォームに移動または作成しました。
最近のMacを構成するコンポーネントは、概して、PCを構成するコンポーネントと同じです。Linuxは常にPCハードウェアで実行されていたため、新しいものは何もありませんでした。
あるOSから別のOSでソフトウェアを実行する場合は、長い間エミュレーションが標準でした。または、デュアルブートしてどちらのオペレーティングシステムも必要に応じて実行できますが、LinuxでのコーディングからWindowsでのゲームのプレイに移行したい場合、これは面倒で面倒です。
その後..
基盤となるハードウェアは同じなので、なぜ両方のOSで共有できないのでしょうか?
最終的には、QEMUとWiNE、および同様のソフトウェアソリューションが完成しました。QEMUは長い間、マシンのハードエミュレーションで人気がありましたが、WiNEでは、OS API呼び出しをトラップしてパッチを適用し、コードをプロセッサ上でネイティブに実行できるようにすることで、WindowsアプリケーションをLinuxで実行できました。
QEMUはWiNEと同様のことを行いましたが、はるかに低いレベルで行いました。それは事実上エミュレータですが、行われたすべてのハードウェア呼び出しに対して、「パッチとリダイレクト」メソッドを使用して、呼び出しが独自のエミュレートされたハードウェアプラットフォームに代わるようにしました。プログラム内のほとんどの機能するコードは実際にはハードウェア呼び出しを含まなかったためです(ほとんどは、結果を表示するための呼び出しが最後にある単純な計算のストリームです)。
これにより、今では実際にはエミュレートされていないマシンのほとんどすべてのプログラムの速度が瞬時に向上しました。プログラムは、マシンをどれだけエミュレートできるかに依存するのではなく、「仮想」ハードウェアにどれだけアクセスしたかに依存して、スローダウンで実行されました。1/10の速度ではなく、本来の速度とほぼ同じ速度で実行されていました。
では、プロセッサで実行している場合、グラフィックカードが機能しないのはなぜですか。
これらの新しい仮想マシンの唯一の問題は、オペレーティングシステムは、その性質上、コンピュータ内のすべてのハードウェアを直接制御し、メモリ管理などの機能を提供し、ハードウェアへのアクセスを制御できると想定していることです。
ただし、これは、少なくとも方法では、仮想マシンがエミュレーションを完全に回避できないことを意味します。それでも、ソフトウェアで特定の機能をエミュレートする必要があります。たとえば、グラフィックカードやネットワークカードを仮想マシンで実行しているOSに提示して、「ゲスト」オペレーティングシステムがそのハードウェアを完全に制御できると見なすようにする必要があります。メインOS(セキュリティの要件による)は、ハードウェアに直接アクセスするプログラムから自分自身を保護する必要があり、これによりゲストオペレーティングシステムが制限されます。
これを行うには、コンピュータ内のすべてのハードウェアの「仮想」部分をエミュレートする必要があります。現在、すべてのコードはプロセッサによってネイティブに実行されているため、低速ではありませんが、仮想ハードウェアの各部分をソフトウェアで作成する必要があり、これによりパフォーマンスの点でわずかなペナルティと機能の点で大きなペナルティの両方が発生します。
つまり、仮想グラフィックスカードは、実際のグラフィックスカードと同じ機能を持つことはできません。最高のパフォーマンスを得るために、仮想ハードウェアを作成してほとんどの使用機能をサポートできます。また、仮想マシンで3Dレンダリングが可能になりましたが、実際のハードウェアとは異なります。
これは、ゲストオペレーティングシステムが一般的なハードウェアオプションを取得する一方で、ホストオペレーティングシステムが最適なハードウェアオプションを取得することを意味します。
仮想マシンは実際のハードウェアほど優れていません。これは、あるシステムから別のシステムのツールを簡単に操作できるようにするためのツールにすぎません。
だから私は何をしますか?
コンピュータの主な目的を何にするかを選択する必要があります。
ハイパワーグラフィックカードで最新のゲームをプレイし、同じグラフィックカードの電源を使用して400インチHDMI TVでフル1080pムービーを再生したいが、たまに一部のLinuxプログラミングを実行したい場合は、Windowsが最善の策です。 Linuxをゲストとして。
Linuxカーネルで作業し、コンピューターのデバイス用のハードウェアドライバーを作成し、時々Windows用のソフトウェアをいくつか作成し、「標準」のWindowsシステムの近似でテストする場合は、Linuxの方が優れている可能性があります。ホストとして、Windowsをゲストとして。
Macの使いやすさが好きで、Windows用にプログラムしたい場合(またはWindows専用のソフトウェアパッケージが必要な場合)、それもオプションです。
Linuxがゲームをプレイできない、またはMacOSはプログラマー向けではないということは言っていません。自分のやりたいことに、どちらのOSが適しているかを言えるのは、あなただけです。
あなたは本当にあなたがあなたのマシンに最初に何をさせたいかを本当に理解しなければなりません。そうして初めて、仮想マシンがあなたのためにできることを理解することができます。
あなたの質問に答えるには:
Will the graphics and video rendering quality will be just as good?
いいえ。エミュレートされたグラフィックスカードはホストグラフィックスカードの一部の機能を提供しますが、ハードウェアビデオアクセラレーションやCUDAプログラミング機能などの複雑な機能をサポートしない可能性があります。
Will there be any hardware issue such as using HDMI or WiDi?
繰り返しますが、これらの追加機能は、利用可能なエミュレート/仮想ハードウェアの機能ではない可能性があります。
Will applications run just as smoothly as long as enough RAM is allocated?
ほとんどのアプリケーション(特定のハードウェア機能を必要としない限り)は、ホストまたはゲストのメモリを枯渇させない限り、実際のハードウェアとほぼ同じ速度で実行されます。