- ベストアンサー
メインメモリから共用する場合と元からビデオカードについている場合とでは??
よくパソコンで、ビデオカード8Mでメインメモリから共用で64Mまで拡張可能、なんて仕様があります。もちろん、ビデオカードにメモリがついている以上、遅延等を考えて元からカードについている方が優れている、というのは分かっているのですが、 (1)ビデオカードメモリが64のものと遜色ないのでしょうか? (2)メインメモリ共用の場合の短所というのはどういうところなんでしょうか? (3)たとえばビデオカードに32Mある場合とメインメモリ共用で64M拡張とを比べたら、どちらが優れているのでしょうか? よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
既に解答がありますが、解答されていない点を・・・ 1番目については、こちらの解釈で解答します。 ビデオメモリが同じ64MBの容量でメインメモリと共有するタイプとグラフィック専用にメモリを有する場合での違いであれば、アクセラレータに実装した物の方が高速にデータをやりとりできます。性能比ではメインメモリの性能などによって倍以上差が生じます。(グラフィックデータの転送速度差換算) 2番目については、 1つは、メインメモリはメモリバス自体の帯域幅が狭く、元々転送速度が遅い。 さらに、ビデオ専用メモリと違い、データ演算などの情報も格納するため、ビデオ処理専用の帯域幅はさらに狭くなることですね。 また、同時にCPUで処理する命令自体のメモリ転送速度も低下するため、システム全体の速度を低下させる効果があります。 3については、前者の方(専用)がメモリの処理観点では優れています。容量の観点からすれば後者の共有が優れますが、32MBも専用にビデオメモリがあれば、絶対的に前者の専用を上回ることはありません。 たぶん、これはあまりハードウェアの知識はお持ちではない方のようですので、3つの解答をまとめて分かりやすく説明しましょう。 まず、ビデオメモリの役割から、これは画像の描画データを格納するのに使い、メモリが多いほど一度に表示できる画像を高画質、高解像度で扱えます。 ただし、もう一つビデオメモリには役割があります。それはGPU(グラフィック専用のプロセッサ)とのデータ転送を円滑で高速に行うことです。これが、遅いとGPUの処理に描画データの転送が間に合わず結果的に処理が遅れるということが起こります。そのため、極めて高速なメモリを使います。 ビデオメモリはこの2つの面で役割を持ちます。 では、これを今回の事例に置き換えてみましょう。 まず、メインメモリとビデオメモリを共有するという行為は、たとえばメインメモリはSDRAM(100MHz、64Bit・・・約800MB/sの速度)のものを使ったとしましょう。メインメモリ共有のタイプはメモリ256MBから64MB確保しています。 ビデオチップは本来、DDRーSDRAM(400MHz、128Bit・・・6,4GB/sの速度)を使う物としましょう。ビデオメモリは32MBです。また、メインメモリは別途256MB上と同じPC100タイプ(SDRAM100MHz)を利用。 この場合は、まず共有の方は、作業の内容としては通常の処理を192MBのビデオメモリとして確保していない部分で処理します。さらに、64MB同じメモリの中でビデオメモリを確保します。簡単にいえば、1つのメモリで2つのメモリが通常は分割して行うデータを扱います。しかも転送速度は800MB/sでしかもメインRAMと共有するため速度はそれ以下となります。本来は8倍の6.4GBでデータを扱えるはずのGPUにデータを送ります。 GPUは余裕があるのですが、データの到着が遅いため、実際に実行される命令は1/8サイクルとなります。GPUの最大性能比較で数字をを実行命令の数、Xがメモリから送られてくる命令の待ち時間とすると 1回目の命令XXXXXXX2回目XXXXXXX3回目XXXXXXX となります。 対して、専用メモリを使うと 一回目2回目と間を開けずに処理できます。実に共有の8倍ですね。そうなると、描画の速度自体はビデオメモリ共有より、専用に設けた物の方が高速です。 では、メモリ容量はどういう意味をもたらすかです。 これは、解像度と画質を決めます。画像はすべて点からなり、それを何ビットの色から表現しているかという物から構成されます。たとえば、1024×768の32ビットカラー(AGPフルカラー)では、1024×768個のドットの一つ一つを32ビットの色で表しているということになります。 すると、計算では 1024×768×32ビット(4バイト)となります。約3,1MBとなります。 これは、2Dでの最低の表示、理系の方なら、XとYというのはご存じでしょう。2次方程式などで習いますが、横と縦の軸を指します。3Dはさらに奥行き(Z軸)が生じます。その計算に残りのビデオメモリが使われます。奥行きは複雑で細かいほどメモリを消費します。 ここで、メモリが多いことの違いが出ますが、元々性能の低いビデオメモリでメインメモリ共有であれば・・・専用メモリタイプより容量が多くても、ある一定の容量を超えると意味がなくなります。 最近のビデオカードはメモリが足りなければ、画像のデータをメインメモリ上にデータとして格納します。 そのため、32MBのビデオメモリにおけない物は、メインメモリ領域に保管します。そうすればできる限り高速で円滑にデータが扱えます。 しかし、共有タイプでは、それを使っても意味がない。元々メインメモリ上で同じ速度にあるため、遅いままですし、さらに画像データをメインメモリのデータ領域にも確保すると、今度はCPUの処理が遅くなる。 だから、メインメモリ共有は遅い。ちなみに、これは同じグラフィックチップを利用した場合です。違うグラフィックチップ同士では、性能がこの問題点も多少改善されたり変化しますので、ご注意を・・・まあ、共有には利点(コストが安い、省スペース化しやすい)もありますが・・・ いかがでしょう。分かり難いかも・・・
その他の回答 (1)
- mackey00
- ベストアンサー率20% (36/175)
>遅延等を考えて元からカードについている方が優れている、というのは分かっているのですが、 (1)の意図がわかりません。 (2) ビデオカードがメモリにアクセスする場合、CPUを通さずにダイレクトにアクセスするので、共用だとCPUとビデオカードのアクセスがぶつかってしまう事があります。 その為に動作速度の低下が見られる場合があります。 (3)何の優劣を比べるのかわかりません。 ちなみに同じチップで、メモリが共用/単独両方いけるものってありましたっけ?
お礼
日本語が少し変でした。恐縮です。 そしてありがとうございました。参考になりました。
お礼
ご丁寧にありがとうございました。よく分かりました。 やはりコストパフォーマンスには裏がある、というのが感想です、、 私の場合はメインメモリもかなり消費するソフトを使う可能性が多々あるので やはり元からチップについているものにしようと思います。今、どちらのノートにしようかと思っていましたが、決心がつきました。 ありがとうございました。