• ベストアンサー

DirectXでSIMD命令セットについて

DirectXはSIMD命令セットに対応しているとのことですが、DirectXのライブラリを使うとSIMD命令で最適化された命令が使われるということでいいのでしょうか? だとすれば、どの様な場所でSIMD命令セットが使われてるか知る手段はあるのでしょうか? SIMD命令セットを勉強して自分のプログラム(ゲーム)に応用して使いたいと考えているのですが、SIMD命令セットを使うことは有効なことなのでしょうか?DirectXを使ってプログラミングをすると仮定して、自分のプログラムでSIMD命令を使うと有効な場所などあれば教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • zwi
  • ベストアンサー率56% (730/1282)
回答No.1

>DirectXはSIMD命令セットに対応しているとのことですが、DirectXのライブラリを使うとSIMD命令で最適化された命令が使われるということでいいのでしょうか? そうです。 >だとすれば、どの様な場所でSIMD命令セットが使われてるか知る手段はあるのでしょうか? ソースは公開されていないので、逆アセンブルでデバッガでトレースするしか無いでしょうね。 まぁ、普通行列演算系に使われていると思いますが。 >SIMD命令セットを勉強して自分のプログラム(ゲーム)に応用して使いたいと考えているのですが、SIMD命令セットを使うことは有効なことなのでしょうか? >DirectXを使ってプログラミングをすると仮定して、自分のプログラムでSIMD命令を使うと有効な場所などあれば教えてください。 行列演算やベクトル系演算を自前でやるなら有効です。まぁ大体はDirectXが関数を用意してくれているので使わない可能性が大きいですが。それよりかは、自前でやるならDirectXとか関係なしに3D物体の衝突判定とか物理演算シミュレーションなら使うかもしれませんね。

yozakura20
質問者

お礼

的確に答えていただきありがとうございます。 とてもすっきりしました。しかし、ソースとか公開してほしいです;; いろいろ参考になりそうなので。 アセンブラ好きなのでやるだけやった見ようとおもいます。

関連するQ&A

  • 命令セットについて

    1)拡張命令セットとしてMMX,SSE1,2,3、 エンハンスド3D now!がありますが、 MMX、SSEはでてからずいぶん時間が経つと思うで、ほとんどのソフトが対応してると思うんですが、 pentium4が得意とするSSE2対応のソフトは今 どれくらいあるのでしょうか? 2)AMDのAthlonは3Dゲームに強いといわれていますが、これはゲームがエンハンスド3D now!に対応しているからでしょうか?またはAthlonのCPU単体の能力が優れているからなのでしょうか? ほとんどのゲームが3D nowに対応していると考えてもいいのでしょうか? AMDは3D now professionalでSSE,SSE2をサポートしざる得なくなったことから3D nowは捨てられたとおもっていたのですが、 3)複数の命令セットに対応したソフトがありますが、 複数の命令セットを同時に使うことはできるんですか? 4)ソフトが命令セットに対応しているかどうかはどうやってしらべたらいいんですか? 暇な時でもよろしくおねがいします。

  • DirectX

    ラトルズ株式会社から出版されている15歳からはじめるDirectX9ゲームプログラミングC++編の第5章の関数ライブラリを作成するところでサンプルのソースプログラムを全て打ち込んだにも拘わらずウィンドウが表示されなくて困っています。どなたか同じ本を持ってる方、もしくはDirectXに詳しい方が居ましたら教えてほしいのですがよろしいでしょうか。 開発環境はVisual C++ 2008 Express Edition、DirectX SDK(June 2007)でOSはVistaです。

  • directxとプログラミング言語

    今、Visual Studio 2008 Expressでdirectxを勉強しているのですが、ふと思いました。 (1)最近のwindowsPCでのオンラインゲームやxboxやps3はdirectxを使ってプログラムしているのでしょうか? (2)xboxはC#でプログラムしていると分かったのですが、PS3と最近のwindowsPCでのオンラインゲームはどんなプログラミング言語でプログラムをしているのでしょうか? よろしくお願いします。

  • 命令集、ライブラリ、TIP集

    自分で勉強したいのですが 検索してもでてこないので書かせていただきました どんな命令があるのかわかりません 全てのライブラリをとはいいませんが VC++にある元の命令集を知りたいです よろしければどなたか教えてください お願いします! 後身の程知らずと言われそうですが通信系のネットプログラミングするにはどういったライブラリがオススメでしょうか?

  • DirectX用のライブラリを探しています

    DirectX用のライブラリを探しています プログラム関係の学校に行っているのですが、学校の作品制作でオリジナルのPCゲームを作ることになりました。ジャンルは弾幕のシューティングで、言語は調べたところゲーム制作はDirectXとC/C++が良いとのことでしたので「DirectXとC/C++」を使う予定です。 ですがDirectXを使うには少々問題がありまして、DirectXというものを一切触ったことがありませんので現在の知識では当然画像の描画すらできないんです。 さすがにそれではマズイのでDirectX用のライブラリを使おうかと思っています。そこで、DirectX用のライブラリでお勧めのものがあれば教えていただけたらなと思いまして、書き込みをさせていただきました。(実際に色々と試したいところなんですがそれほど時間も無いもので……) もし「こんなものがいいよ」というものをご存知であれば是非とも参考にさせていただきたいのでアドバイスをいただけると幸いです。よろしくお願い致します。 補足になりますが・・・ 作品制作ではライブラリに規制があり、ツクール系やHSPみたいな簡単に作れるものはNGという制限があります。 描画には2Dと3Dの両方を使います。 DirectXのバージョンはできればDirectX9…DirectX8くらいであると有難いです。 なにぶん勉強中のもので不足がございましたらその都度ご返信させていただきます。よろしくお願いします。

  • アセンブリ命令、命令セットアーキテクチャ等の用語

    ソフトウェア中心の技術者です。 コンパイラからアセンブリ言語を吐き出させ、そこからプロセッサ内部の動作を詳しく解析していたいと思っています。そうしたところ、先輩から「そういうことなら、命令セットアーキテクチャを勉強するといいよ」、とアドバイスをもらいました。 ここで質問なのですが、 1 「アセンブリ命令」と「命令セット」とはほぼ同じ言葉だと思って差し支えないでしょうか? 2 また、「命令セットアーキテクチャ」とは、「決定した命令セットから成るプロセッサ内部の仕様」と思って良いのでしょうか? 例えば、ジャンプ命令を受けたときには、構造的にどのようなしくみでプログラムカウンタのデータを変えるか、とかを規定したしくみそのものと理解していますが、それで正しいでしょうか?  以上、よろしくお願いします。

  • DirectX Graphics と OpenGLってどちらがいいの?

    お礼は必ず書きますのでどなたか教えてください。 今趣味で2Dゲームプログラムを色々と作っています。 最近2Dでは物足りなくなってきたので 3Dプログラミングを勉強していきたいなと思っているのですがDirectX Graphics と OpenGL どちらを勉強しようか悩んでいます。 シューティング、RPG、通信プログラムなどを普段作っています。 今、2人で出来るなんちゃってオンラインゲームも完成したところで 将来オンラインゲームを自分で作れたらなと思っています。 今大学4年生で、去年授業でほんのちょっとOpenGLをかじりました。しかし難しくてほとんどわかりませんでした・・。 こんな私にオススメなのはどちらでしょうか? (1)RPG,シューティング、などのゲームプログラムを通信プログラムも含めて作りたい (2)PS2などで作られているソフトはOpenGLよりほとんどがDirectXで作られていると聞きましたがそうなのでしょうか?それはなぜですか? (3)書籍などが充実しているのはどちらでしょうか?ウェブでの解説などがあればそちらでも。 (こちらの方がわかりやすく書いてある本があるなど) 結局この2つはどう違うのかが知りたいです。 どなたかお詳しい方教えてください。 よろしくお願いします。

  • DirectXについて 2

    DirectXでプログラムをあと3週間ほどで作ることになってしまいました。 ですがDirectXのプログラミングはまだ全然わかりません。 実際に組むプログラムの概要はこんな感じです。 ・サーバーと複数のクライアントによるネットワーク対戦 形式である。 ・BGM等の音楽は特に無し。 ・たとえるならボンバーマンのような俯瞰視点でキャラを 操作する。 ・クライアント(1P)からは別のクライアント(2P)のキ ャラはみえない。 というようなものです。 どなたか経験者のかた、DirectXを勉強しなければいけないので、これはいい!というような参考書やサイト等ありましたら、ぜひ教えてください。 よろしくお願いします。 助けて!

  • directXのバージョンによる違い

    素お人がゲームプログラミグを学ぶためにセガの人が書いたゲームプログラマになる前に~という本を読んで勉強しようと思っています。 この本ではdirectx9が使われているそうなのですが初心者がプログラミングを始めるに当たって最新バージョンの11とどれぐらい違いがあるのでしょうか? directXは使ったことはないですがプログラミングは中級レベルだと思います

  • DirectXの良著

    VisualC++を使ってDirectXの勉強をしたいと思っています。主に3Dに関する勉強をしたいと思っているんですが、なにか良い本を紹介してくれないでしょうか? ゲームプログラミングと謳っている本ではなく、どちらかというとSDCGの機能(あわよくばDirect3Dアニメーションなんかの機能)を養えるような本がいいです。できればVCとも絡みがあるとありがたいのですが・・・。 よろしくお願いします。