解決済みの質問
デュアルコアCPUはマルチスレッドに有効と聞きますが、マルチスレッドとはどういうものでしょうか?
(1)単純に、3Dゲームをし、ネットをし、同時にエンコードをし、同時に画像処理し・・・っていう作業の「マルチ」ですか?
(2)それとも、単独アプリケーション自体にマルチスレッド対応(?)のものがあるのですか?
よく、3Dゲームはシングルスレッドのため、デュアルコアCPUの優位性を引き出せないといいますが、上記(1)の場合に当てはまりますか?
投稿日時 - 2006-03-26 00:50:04
3Dゲームは基本的にCPUが1つであることを前提として設計されているので,デュアルコアCPUの実力は発揮されません。
最近ではGPUのドライバがデュアルコア対応を始めているので無意味ではありませんが,劇的な効果はありません。
よって例として書かれた(2)のほうに当てはまります。
ゲームをしながら,同時にウイルスチェックをする,といった状態では,もう1つのCPUがウイルス対応ソフトを動作させるので,ゲームの速度はあまり落ちません。
これは例えの(1)のほうですね。
マルチスレッド対応ソフトとして,動画編集ソフトや音楽ソフト(iTune)などがあります。
こうしたソフトでは,ソフトそのものが2つのCPUを効率よく活用できるように設計されているので,理論的にはCPU1つの時の2倍で作業ができます。
(ゲームが2倍速になっては困りますよね(^^;ゲームが主にシングルスレッドなのは,大雑把にはこういうことです。)
投稿日時 - 2006-03-26 13:11:50
お礼
ありがとうございます。
シングルスレッド対応アプリでも、結局パソコン作業全体では「マルチ」なんですね。
デュアルCPU、ファースト選択にしたいと思います。
投稿日時 - 2006-03-26 15:43:25
0人が「このQ&Aが役に立った」と投票しています
ベストアンサー以外の回答(6件中 1~5件目)
最近はスレッドという言葉が先走っていますが
この処理状態を理解するにはプロセスと言う概念が重要になります。
・大雑把に1つのアプリケーションに1つのプロセスがあります。
・マルチスレッドに対応しているアプリケーションには1つのプロセスに複数のスレッド、対応していないアプリケーションには1つのスレッドがあります
(1)はプロセスが複数あるので必然的にスレッドも多くなります。マルチスレッドのアプリがあればプロセス<スレッド
(2)はここまでの説明でお分かりだと思いますが、プロセスをスレッドに分割しているか、いないかの違いです
1アプリケーションに1プロセスはじゃないとご意見もありそうですが、説明しやすくするため概念とお考えください。また、当然処理の重いプロセスがマルチスレッドになっていなければデュアルコアの恩恵が少ない事をご理解ください。
投稿日時 - 2006-03-26 12:32:51
デュアルコアCPUとは、
極端な例をあげると、調理場にコックさんが2人いるような感じです。
(シングルコアCPUはコックさん1人)
(1)の作業のマルチもデュアルコアは効果があります。
2人のコックさんがそれぞれ別の料理を同時に作るイメージです。
(2)マルチスレッド対応のアプリケーションも存在します。
2人のコックさんが一つの料理を協力して作るイメージです。ただし、2人で協力できるようあらかじめ調理手順を決めておく必要があります。
3Dゲームの多くはシングルスレッドです。
つまりコックさんが1人しかいないという前提で調理手順が組まれているので、もう1人は手持ち無沙汰になってしまうのです。
この場合でも、(1)のように他に作る料理があれば、もう1人のコックさんも有効に働きます。
投稿日時 - 2006-03-26 02:24:48
OKWaveのオススメ
おすすめリンク