- 1 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 09:55:56 ]
- ※回答する人も、質問する人も必ず読んでください
これらに当てはまる人のための質問スレです。 1.C/C++は多少理解している。 2.最近DirectXを始めたばかり 3.SDKを見ても、Googleで検索しても、いまいち理解できない人 4.余計な雑談は不要ですよ 【 回答してくださる方 】 ・ できるだけ優しく質問に答えてあげてください。 ・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。 「ググれ」「SDK見れ」以外の回答でおながいします。 ・ 神ですら理解不能な質問は無視して下さい。 【 質問する方 】 ・ どんな事で躓いているのか明確にしよう。 ・ 長くならないなら躓いている部分のコードを晒してみれ。 ・ 解決した場合、お礼を言うのは当然だが、何をどうしたら解決したかを明確に書こう。 ・ 回答して貰ったら、出来るだけお礼もしよう。 【C++】 DirectX初心者質問スレ Part16 【C】 pc11.2ch.net/test/read.cgi/tech/1202634347/
- 930 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 00:10:42 ]
- 「DuplicateSoundBuffer」がサウンドカードの機能だと思っている人が居たことに衝撃。
- 931 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 00:48:58 ]
- マルチポストに答えてやったら、別スレで「自己解決しました」って
報告してるのを見たときは吹いた
- 932 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 07:05:59 ]
- >>930
ちげーの? 「ドライバだよ!」とかいう言葉遊びは簡便な
- 933 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 10:01:37 ]
- >>932
いやDirectXが処理してる。 音を出すのはサウンドカードだが音のデータをサウンドカードに流してるのはCPUだぞ。 デュプリケートは1つのバッファに対してどこ部分をプライマリにコピーするかって 情報をもったインターフェイスが増えているだけの話だからぶっちゃけ全部CPU処理だぜ。 不安ならセカンダリをLOCALで作成してDirectSound自体をCPU処理固定にすると 環境依存のバグが発生しなくなるのでお勧め。 元々サウンドカード上の専用メモリとかISA時代の転送が遅かった時代のカードにしかないし。
- 934 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 10:29:22 ]
- >>933
おいおい、そりゃ「DirectXでソフトウェアエミュレート」すればDirectXの仕事だけどさw 普通に使ってればDuplicateSoundBufferの命令をうけて(ハード上なり、PCのメインメモリー上なりに)バッファを確保するのはサウンドカード・ひいてはそのドライバの仕事だぜ? だからこそ、DuplicateSoundBufferは必ず成功するとは限らないんじゃないか。
- 935 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 12:46:43 ]
- 実際に動作しないサウンドカードの製品名を挙げてくれ。
そもそもいったいいつの時代の話をしているんだ?
- 936 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 12:48:19 ]
- 動かないハードがあるとして、その場合はソフトウェアで勝手にやってくれないもんなの?
- 937 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 14:33:49 ]
- 具体的名称までは聞いたことないが、
「PCゲー作ってる会社でのよくあるサウンド関係のトラブルはそれだから注意しな」 と付き合いのある会社から言われたな ちなみにSDKサンプルでも、きちんとDupできないならCreateでごまかすように組んである 自動ではやってくれない
- 938 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 19:12:39 ]
- >>937
>DupできないならCreateでごまかす それこそまさにISAの時代の話じゃなくて? オンボードReadtek、USB外付け音源、サウンドブラスター、 MonsterSound あたりはテストしたが、そんな大きな不具合に遭遇したこと無いな。 それより、ASIO にした方が良いのかぁ、と思ったことは何度かある。
- 939 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 20:24:02 ]
- そういうわけで完全ソフトウェア処理のXAudio使えや愚民共、と相成りました
- 940 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 22:11:27 ]
- XACTがないと早送りや巻き戻しすらできないあれか
- 941 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 23:04:51 ]
- 今時クエリーインタフェイスとか
愚民杉
- 942 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 23:53:19 ]
- 今も昔もそもそもDirectSoundにハードウェアのまともな対応を期待する方が愚。
かなり初期の頃からDirectSoundだけはソフト処理でやるのが鉄板になってたはずだぞ。
- 943 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 23:57:24 ]
- DirectSoundをソフト処理って、どういう意味合いで言ってるんだみんな?
IDirectSoundBufferの確保時に、フラグでDSBCAPS_LOCSOFTWAREをいれるってこと?
- 944 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 23:57:25 ]
- 選べるようにしておけばいいだけの話だろ
- 945 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 00:08:35 ]
- たしか、DirectSound ってサウンドカードのメーカーのあまりものグダグダさに、
マイクロソフトが嫌気がさして、ソフトウェア処理でこれからは行く、とかっていう 記事を見た気がする。 Vista DirectSound HAL で検索をかけるといろいろ出てくる。 Windows は DTM 系のソフトが弱いってのはこの辺りが原因なのかねぇ? ローランドあたりが先陣切ってやってくれないとね。
- 946 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 00:17:57 ]
- VistaのMIDIへの冷遇は忘れねえ
- 947 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 00:25:19 ]
- >>943
そういうこと。 たとえば最初の3つはサウンドカードのメモリに確保されていて、 その後はメモリが足りなくてシステムメモリに確保された場合に、 ミキシングが絶望的な状況になる。 いまどきのCPUならSSEとかMMXあたりでミキシングできるし、 10個20個程度ミキシングしてもCPUの負荷なんざ1%も食わないのでサウンドカードは ただの音声出力装置以外の機能は期待しない方がいいと思われ。 そもそもサウンドカードに専用メモリ乗ってたのってCPUからの転送が遅かったISA時代だしな・・・。
- 948 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 01:24:23 ]
- soundblasterの割と最近のサウンドカードがスタティックバッファ持ってるけど、あれが使える状況ってあるのかな
- 949 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 09:59:42 ]
- DSBCAPS_LOCSOFTWAREフラグたてておけば、DuplicateSoundBufferは必ず成功するのかな?
みんなわりと音楽系はそんなに気をつかってないんだね
- 950 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 22:49:22 ]
- SOFTWARE でもサイズが大きいと失敗する。
正確には、Duplicate の時は成功するが Play の瞬間に失敗するようになる。
- 951 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 22:52:48 ]
- >>947
今のCPUをもってしても遅延が絶望的に大きいのが欠点。 外部入力への反応での遅延は致命的。 ASIO であってもまだ不満。
- 952 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 00:19:59 ]
- DirectSoundでDuplicateして鳴らすなんて普通はゲームのSEだろう。
その程度なら1,2フレ遅れたところでたいした問題ないよ。
- 953 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 01:45:29 ]
- >>951
ASIO がだめってどんなんだよ・・・。 ゲームの場合は少し前からSEを鳴らし始めればいいわけで。
- 954 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 15:47:38 ]
- 音ゲ厨と60fps厨が組み合わさった怪物だろう
- 955 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 18:54:55 ]
- > 外部入力への反応
って書いてあるから、サウンドエフェクタとかボイスチャットみたいに リアルタイムにキャプチャーした音を加工するやつじゃね?
- 956 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 21:49:55 ]
- ゲームとマジDTMとはまた違うからなぁ
- 957 名前:デフォルトの名無しさん mailto:sage [2008/07/11(金) 00:10:26 ]
- ボイスチャットなんざネットワーク介して時点で遅れてるんだから関係ないだろ
- 958 名前:デフォルトの名無しさん mailto:sage [2008/07/11(金) 00:38:21 ]
- 出力だけ同期してりゃいいんだよ
|

|