[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 04/11 09:12 / Filesize : 247 KB / Number-of Response : 959
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【C++】 DirectX初心者質問スレ Part17 【C】



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/

865 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 16:01:33 ]
オンボードビデオカードだと
CreateDeviceでD3DCREATE_HARDWARE_VERTEXPROCESSINGが失敗すると思ってよいのでしょうか?

また、ビデオカードを使ってる環境でオンボードでも動作するように開発するには
D3DCREATE_SOFTWARE_VERTEXPROCESSINGで初期化を行えばあとはCPU速度次第ということになるのでしょうか?

866 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 16:21:38 ]
>>865
少なくともここ1年以内のIntel製オンボードは
D3DCREATE_HARDWARE_VERTEXPROCESSINGでも通るぞ

恐らくだが3年前の物でも通ると思う


867 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 16:53:54 ]
>>866
ありがとうございます
自分の環境が945Gなのですが駄目でした
この環境で動作させるには、頂点数やライティングに気をつければよいのでしょうか?

868 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 17:59:50 ]
>>867
頂点数とライティング、あとはVRAMを食いすぎないようにすれば十分な速度は保てると思う。
オンボードグラボは基本的にメインメモリからVRAMを取るから十分にメモリを積んでない
システムでVRAM食いすぎると酷いことになる。
でかいテクスチャを何枚も使ったりしないで簡単な3Dエフェクト程度の利用だったら
特に問題なく動くんじゃないかな。

869 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 00:10:48 ]
intelGMAは未だにピクセルシェーダはサポートするけど
頂点シェーダはサポートしない(HW頂点処理ができない)んじゃなかったっけ

870 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 00:21:24 ]
ピクセルシェーダー/バーテックスシェーダー2.0に対応していない
グラフィックボードって何年前ぐらいの物ですか?

871 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 00:28:07 ]
GeForce3とかRadeon8500とかだな

872 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 12:26:00 ]
>>869
X3000以降は使えるみたい
en.wikipedia.org/wiki/Intel_GMA#Table_of_GMA_graphics_cores_and_chipsets

873 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 15:23:12 ]
この前GF5200FXで動かしたら、ピクセルシェーダ2.0に対応してるのはいいけど物凄い遅さでびっくりした
(PS処理省いたらめちゃくちゃ軽くなった)



874 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 20:02:31 ]
D3D10でD3D9のD3DPERF_BeginEventに相当するものってありますか?

875 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 17:12:50 ]
bmp形式の画像ファイルを背景色の代わりに表示させることってできますか?


876 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 17:15:34 ]
>>875
スプライトなり何なり使って画像を描画

Zバッファだけクリア

後はお好きなようにどうぞ

877 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 17:26:45 ]
>>876
できました!
ありがとうございました。



878 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 01:10:00 ]
えええ

879 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 07:25:15 ]
D3DXLoadMeshFromXInMemory のオプションで指定するD3DXMESH列挙型にはどんな意味があるのでしょうか?
色々と試してみたのですが、パフォーマンスに影響があるようには思えないのですが

880 名前:デフォルトの名無しさん mailto:age [2008/06/28(土) 08:02:10 ]
HLSLの組み込み関数「ddx(x)」ついての質問です。
SDKのヘルプには、
スクリーン空間の x 座標について、x の勾配を返します。
とありますが、具体的にどんな計算をしているのですか?
教えていただけないでしょうか?


881 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 14:04:28 ]
英語では、Returns the partial derivative of x
xの偏微分を返すって書いてるね。

882 名前:デフォルトの名無しさん mailto:age [2008/06/28(土) 15:43:46 ]
>>881
レスありがとうございます。

x方向の傾きを返してくれるみたいですね。
その傾きを求めるための具体的な値が、どのようなものなのか、
わからなくて困っています。

傾き == 高さ / 距離 の「高さ」と「距離」は、
どんな値が使われるのか知りたいです。

どなたか、よろしくおねがいします。

883 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 16:29:24 ]
プログラムと一緒にd3dx9_?.dllとかをダウンロードさせたいのですが、どのような形式なら
配布してよいんでしょうか?cabですか?



884 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 17:00:26 ]
>>883
添付して配布は、ライセンス的に面倒なことになるんじゃなかったかな。
ウェブインストーラへのリンクを出せばいいと思う。

885 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 17:23:59 ]
>>882
HLSLのddx()/ddy()は、PSのdsx/dsyに対応する。
dsxのマニュアルには、レンダリングターゲットのx 方向の変化割合とあるので
↓か、それに近い形になるんじゃないかなあ

float2 delta = 1.0f / rendertarget.size;
float1 dsx = ( pixelcolor( x+delta.x, y ) - pixelcolor( x, y ) ) / delta.x;
float1 dsy = ( pixelcolor( x, y+delta.y ) - pixelcolor( x, y ) ) / delta.y;

886 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 17:58:22 ]
>>883
msdn.microsoft.com/en-us/library/bb174600(VS.85).aspx
msdn.microsoft.com/en-us/library/bb219742(VS.85).aspx
ファイル単体ならライセンス違反だが、最小構成なら2MB程度の添付で済む。

ファイル単体で添付できるにこしたことはないんだが、MSは自分らのランタイムを
プライベート配布されるのを嫌う傾向があるからなぁ。


887 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 21:55:22 ]
まあ、なんかトラブルあったら、クレームは全部MSに来るわけだしな。
動かない、なんとかしろ、しか言わないキチガイにつきあうよりは、
自分トコから一括ダウソにしておいたほうがまだしもマシってことだろう。

888 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 14:32:56 ]
firefoxみたいなブラウザの画面をテクスチャにするにはどうしたらいいでしょうか?

win32APIを使うべきなのかDirectXを使うべきなのかもよくわからないです

889 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 19:38:35 ]
両方使え

890 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 20:46:44 ]
これからDirectXの勉強をしようと思ってるんですけど、
SDKはどのバージョンを使えばいいのでしょうか?
9.0c以降多すぎてよく分からないです
開発環境や実行環境のサポート状況で適当に選んじゃっていいのかな

891 名前:882 mailto:sage [2008/06/30(月) 00:53:27 ]
>>885
レスありがとうございます。

実際に値を入れて、いろいろと調べてみます。

892 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 23:13:30 ]
コンパイルすると以下のようなエラーが出ます
サンプルプログラムなのでソースにエラーはないと思います
調べましたが原因が分かりません
よろしければどなたか御教授いただけないでしょうか?

エラー E2238 c:\Borland\Bcc55\include\d3dtypes.h 113: '_D3DCOLORVALUE' の宣言が複数見つかった
エラー E2344 C:\Program Files\mdsdk\Include\d3d9types.h 60: 一つ前の '_D3DCOLORVALUE' の定義位置
エラー E2146 c:\Borland\Bcc55\include\d3dtypes.h 130: 宣言には識別子が必要
エラー E2238 c:\Borland\Bcc55\include\d3dtypes.h 132: '_D3DRECT' の宣言が複数見つかった
エラー E2344 C:\Program Files\mdsdk\Include\d3d9types.h 70: 一つ前の '_D3DRECT' の定義位置
エラー E2146 c:\Borland\Bcc55\include\d3dtypes.h 149: 宣言には識別子が必要
エラー E2238 c:\Borland\Bcc55\include\d3dtypes.h 151: '_D3DVECTOR' の宣言が複数見つかった
エラー E2344 C:\Program Files\mdsdk\Include\d3d9types.h 51: 一つ前の '_D3DVECTOR' の定義位置

以下略


893 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 23:18:22 ]
>>890
日本語マニュアル必須なら2004OCT
不要なら最新版使っとけ



894 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 23:38:23 ]
まだBCC使ってるやつ居るのか…

895 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 23:44:44 ]
BCCはDirectXに対応してないハズ
どうしてもBCCがいいなら昔のバージョンを使うしかない
VC使えばいいと思うよ

896 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 23:49:53 ]
BCCからVCへの移行は難しい物なのでしょうか?

897 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 00:08:51 ]
やってから言え
どうしてお前が難しいと思うか予想しなければいけないんだ?

898 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 00:09:35 ]
VCはISO準拠度が高いので
もし、移植できないコードがあれば、それはコードが間違ってるってことだから
安心して修正していいよ

899 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 00:10:25 ]
分かりましたVCを導入してみます

900 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 01:18:06 ]
どうせ趣味グラマだろ?
正規版OSならタダなんだから導入も糞もないだろ

901 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 10:53:32 ]
恐ろしいことに2005年以降でもExpressEdition+PlatformSDKを無視して
BCCを使う入門書(笑)や入門サイト(爆)は実在するんだ…

902 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 12:02:15 ]
古いサイトが更新されてないだけではなく?

903 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 12:26:00 ]
HDVファイルの任意のタイムコードの場所を表示する(orビットマップファイルで吐き出す)
コマンドラインのプログラムを作らないといけなくなったのですが、DirectShowベースで
実現可能でしょうか?

C:\> showHDV.exe /pid 10 /timecode 00:00:00:25 test.m2t ← こんな感じ



904 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 16:36:09 ]
スレ違い。
とりあえずSDK読んで考えろ。

905 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 19:54:26 ]
www.greenwood.co.jp/~k-aki/article/sslib2_dsound/source/sslib2/dsound/StreamSoundBuffer.cpp
上記のソースコードですが、CStreamSoundBuffer::Create内でCComPtrを二箇所使用しています。
CComPtrはググってみたところ、スマートポインタの一種と出ました。間違いないでしょうか?
また、bufferはサウンドバッファでm_pStreamBufferに受け渡されているので解放されないのに対し、
notifyは何にも受け渡されないので解放(Release)されてしまうように思われます。
IDirectSoundNotifyはIDirectSoundBufferと異なり解放されても問題ないのでしょうか?

906 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 20:07:00 ]
言葉が足りなかったので
IDirectSoundBufferはサウンドの再生時に必要になるので必要な間にReleaseすると問題になります。
であれば、IDirectSoundNotifyは通知位置を設定するのに使ったので解放すると設定無効にならないのでしょうか?

907 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 21:48:18 ]
自己解決しました。
msdn.microsoft.com/ja-jp/library/cc370470.aspx
上記を見るかぎり、解放しても問題なさそうですね。

908 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 23:32:35 ]
>>904
あんまり有益じゃないアドバイスですね。
一応スレにはルールがありますので、ルールに則った回答をお願いします。

909 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 23:57:59 ]
このスレは初心者と優しい人とギスギスした人で成り立ってます
プログラマーって極端だな

910 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 00:14:16 ]
最近のSDKではDirectX9の更新が無いようですが、
最後に更新されたのはどのバージョンですか?

911 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 00:25:20 ]
d3dx9_xx.dllのバージョンが上がっている以上、
今でも更新されているとお考えください

912 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 02:14:10 ]
マスターアップ前のPGは生理痛の時の女と一緒
つまり、女のPGは大変てこった

913 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 14:48:39 ]
ロックできる指定サイズのサーフェィスってどうやってつくんの



914 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 19:57:19 ]
質問です。

DirectSoundでプライマリバッファのボリュームをいじると、Windowsアプリケーションの「ボリュームコントロール」でコントロールできるWavのところに反映されてしまうようでいまいちよろしくありません。
ゲーム終了時に元に戻すことも考えましたが、ゲーム中にユーザーが「ボリュームコントロール」からいじってたら〜と考えるとこれでも不適当かと。

なので、いったん
「ゲームのBGMや効果音のセカンダリバッファ」 > 「セカンダリバッファ」 > プライマリバッファ
と、1つセカンダリバッファをかませたいのです。

DirectXのヘルプを読むと「ほとんどのバッファの場合、出力先はプライマリ バッファと呼ばれるミキシング エンジンである」
とあったため、工夫すればセカンダリをかませることはできそうなのですが、良い手法はありますでしょうか?


915 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 20:21:20 ]
マスターボリュームをいじるプログラムにするな
以上!

916 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 20:48:58 ]
AOE2はゲーム終了時とかフォーカス喪失時にボリューム元に戻すような仕様だったな
大企業でさえそれなんだから別に気にしないってのも一つの手だとは思うが
どうしても嫌ならManagedDirectXのセカンダリバッファがヒントになるかもしれん

917 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 22:12:01 ]
丁度DirectSoundで盛り上がってるみたいで便乗を
現状、効果音を多重に鳴らす際にDuplicateSoundBufferを使ってます
でもこれ、鳴り終わるまではReleaseしちゃいけないので面倒です

今はここのイベント通知処理を利用し
ttp://msdn.microsoft.com/ja-jp/library/cc370470.aspx
play時にDuplicateSoundBufferで複製。ついでにstaticなリストにCComPtrでくるんで追加。
再生が終わったらリストからはずす(よって開放される)
という感じに実装しています

でもこれが異常に面倒。とてもほかの方々がそうやってるとは思えません
そもそもDuplicateSoundBufferについてぐぐるにひっかからなさすぎ(26件)

みなさん多重に再生する必要がある効果音などは、どのようにしているのでしょうか?

918 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 22:13:30 ]
>>917補足です
再生が終わったらイベントが通知され(登録したコールバック関数が呼ばれ)、そこでリストからはずすようにしています。
リストが壊れないようにクリティカルセクションでかこってやったり、かなり面倒なんですよね
一度作ってしまえばあとは使うだけとは言え・・・

919 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 22:25:27 ]
効果音を鳴らすたびに作って解放するのかと逆に問いたい

920 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 22:58:09 ]
Managedの話で悪いが俺は最大同時再生数と同じ数だけセカンダリバッファ作っちゃってるわ
再生終了はコールバックじゃなくて毎フレームのポーリングで対処してる
少なくとも俺のPCでは遅延とかメモリ食いすぎとかは起こってない

921 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 23:02:08 ]
>>920
私もそんな感じの作りにしてます
他で使うメモリに比べればサウンドで持っていく割合とか微々たるもんだしって感じに思えたので

922 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 23:05:54 ]
>>920
デュプリケートって内部的にカーソルとかその辺のインターフェイスがコピーされるだけで、
実体のサウンドファイルは1つのままだと思うだけどまさか全メモリコピーなのか?

923 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 23:10:06 ]
>>922
なん・・・だと・・・?
今まで全メモリコピーだったわけだが
SDKのリファレンス見たらそんなような事書いてあるな
どう考えてもDuplicateSoundBuffer使ったほうが効率的じゃねえか・・・



924 名前:デフォルトの名無しさん mailto:sage [2008/07/07(月) 07:05:25 ]
>>923
お前w
昔のDirectX7本とかじゃこの手のは当たり前にのってるのに、最近はおざなりだよなー

925 名前:デフォルトの名無しさん mailto:sage [2008/07/07(月) 19:46:01 ]
directxのapiで音声入出力のメモリに直接アクセスする手段ってありますか?


926 名前:デフォルトの名無しさん mailto:sage [2008/07/07(月) 23:35:32 ]
DuplicateSoundBufferに対応していないサウンドボードがまだありそうな気がする・・・

927 名前:925 mailto:sage [2008/07/07(月) 23:35:36 ]
自己解決

928 名前:デフォルトの名無しさん mailto:sage [2008/07/07(月) 23:50:55 ]
自己解決したときにその情報を出さないやつが、なんで質問して情報を出させようとするんだろうな

929 名前:925 mailto:sage [2008/07/08(火) 00:08:35 ]
>>927は自分じゃありません

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 ]
出力だけ同期してりゃいいんだよ






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<247KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef