ここから本文です

なぜCPUではGPUが行っている処理を行えないのでしょうか?

roots050505さん

2011/5/1822:37:57

なぜCPUではGPUが行っている処理を行えないのでしょうか?

高性能のCPUを積んだパソコンでもGPUの性能が低ければ3Dゲームなどできませんがなぜでしょう?
CPUでGPUが行っている処理を行うことは出来ないのでしょうか?

閲覧数:
5,110
回答数:
4
お礼:
25枚

違反報告

ベストアンサーに選ばれた回答

2011/5/2200:13:22

昔のゲームなら出来ますよ。 2000年頃までの3Dゲームは、CPUで全て表示することも出来ました、初代PS1の様な画面になりますがね、テクスチャカクカク、ポリゴングニャグニャ、色数256色ですけどね。

例えば、プレステ1からWindowsに移植されたFF7は、CPUだけでPS1と同じスピードで動作させるには、PenⅡの450Mhzが必要なのです。しかしグラフィックボード、同時のグラフィックボードを加えて動作させると、CPUのスペックは半分で済みましたし、テクスチャは綺麗なグラデーション、表示色数はCPUだけの場合は256色しか出せないのですが、GPUがあれば65536色~1677万色に増えます、そして当然、動作が滑らかになります。

と、いった感じです。

しかしながら、最近のゲーム2001年位のゲームからは、GPUにしか計算出来ない機能を使用したプログラムになっているため、対応したGPUが存在していないと、起動させてくれないのです。


CPUっていうのは、出来る計算と出来ない計算があるのです、単にワードエクセルだけなら"整数演算"という機能がCPUに搭載されていれば、使えます。

しかし、3Dポリゴンの計算は"浮動小数点演算"という機能がCPUに必要になります。


古い携帯電話や単純な電卓には、整数演算が出来るトランジスタは搭載されているが、浮動小数点演算が出来るトランジスタは搭載されていません。 ということです。


最近のグラフィックボードでは、"プログラマーシェーダー"という計算が出来るトランジスタが搭載されていますが、これはCPUには搭載されていないのです。ですから、プログラマーシェーダーで構成されたゲームのプログラムは、CPUには物理的に計算不可能なのです。


とにかく、GPUの行う計算をCPUに任せても、専門ではないので、実例ですがGPUが1秒で行う計算がCPUだと100秒も掛かってしまうのです。 これだと例えば、1秒間に30フレームのバイオハザード5は、全てCPUで動かすと1秒間に0.1フレームとなってしまい、ゲームどころではありません、ということです。


是非とも、ベストアンサーよろしくっす。

この質問は投票によってベストアンサーに選ばれました!

ベストアンサー以外の回答

1〜3件/3件中

並び替え:回答日時の
新しい順
|古い順

mightyladyjpさん

2011/5/2307:20:06

GPUには、画像処理専用の演算装置が100個ぐらい乗っています。

このプロセッサは、ひたすら3次元の座標変換と、2次元化、ラスタライズ、テスクチャマッピング、シェーディング、Zバッファソート
などを行っています。

CPUもこの処理を行えますが、いくら高性能のCPUでも、GPUの演算装置100個とでは、掛かる時間が全く違い、太刀打ちできません。

>高性能のCPUを積んだパソコンでもGPUの性能が低ければ3Dゲームなどできませんがなぜでしょう?

GPUの性能が低い(演算装置の数が少なかったり、クロック数が低い)と、一枚の画像を作るのに時間が掛かり、リアルタイムで表示できません。

2011/5/1823:14:43

逆に言うと、
GPU は、CPU が、行っていることをしないのか?
ということになります。
CPU が、すること と、
GPU が、すること が、
同時に、発生したら、どっちが、やるのか、ということになります。

GPU が、グラフィックに、特化したプロセッサーならば、
CPU は、汎用処理に、特化したプロセッサーです。

CPU にも、ある程度の処理能力は、あるでしょうが、
グラフィックの特化した部分は、備えていませんから、
この特化した部分の処理では、GPU には、勝てません。

ここに、分業が、成立しています。

CPU側からは、
グラフィック処理の要求を、GPUに出すだけで、
GPU側は、CPUの状態に関係無く、
グラフィック処理には、全面的に、対応できて、
処理の完了を伝えるだけです。

このため、GPUの性能に、3Dゲームが、依存します。
というよりも、ゲームの設計が、すでに、
当然のように、GPU依存になっていて、
CPU への依存度が、はるかに、低いため、
GPU の性能が、大きく影響してしまう、ということです。
ゲーム側の造りの問題でもある訳ですが、
CPUに依存してもメリットが、無ければ、GPUに依存することになります。

jtaka451さん

2011/5/1822:44:33

CPUは良くも悪しくも「汎用」の作業を行いますからねぇ。GPUが行うのは大量かつ並列の数値演算。そういうのはCPUは得意じゃない。逆にCPUで行われる非同期なプロセス管理はGPUは不得意かと。

要するに適材適所。

> CPUでGPUが行っている処理を行うことは出来ないのでしょうか?
どっちかというとGPUでCPUの行っている作業のうちで数値演算的なことをGPUに肩代わりさせるGPGPUってことが研究されていると思うけど。

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問や知恵ノートは選択されたID/ニックネームのMy知恵袋で確認できます。