DirectSoundの動作について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
シエル

DirectSoundの動作について

#1

投稿記事 by シエル » 15年前

お世話になります。

DirectSoundの動作について、お聞きしたいことがあります。

プログラムを起動してから一番最初の音が鳴る時だけ、少し動作が重くなることはありますか?
私が作成してるゲームの場合、一番最初になる音だけちょっと動作が重くなるんです。
最初の音が鳴った後は、スムーズに動きます。
一番最初になる音を他の音に変えても、現象に変化はありません。
このような現象は普通なのでしょうか?

ちなみに私は下記リンクの質問の現象が解決しておりませんが、関係ありますでしょうか?

http://www.play21.jp/board/formz.cgi?ac ... &rln=58139

DVDM

Re:DirectSoundの動作について

#2

投稿記事 by DVDM » 15年前

>>シエルさん
全く詳しくなく、解決のお手伝いまでは出来そうにありませんが
レスがないと寂しいので書き込まさせて頂きました。

[color=gray>> 一番最初の音が鳴る時だけ、少し動作が重くなることはありますか? [/color]

・動作が重たくなった原因は本当に音楽を鳴らした時なのか
・最初に鳴らす音を SE等(サイズが大きくない物) に変更しても同じ現象が起こるのか
・実行時にすぐ鳴らす場合と、キーを押すなどして再生した場合とで両者に違いは出るのか
・動作が重たくなった音を二番目以降に鳴らしても動作は重たくなるのか
・ストリーミング再生している場合、行わない場合と比べて両者に違いは出るのか

既に色々お調べになっていると思いますが、
私の方では 60MBくらいの WAVEを鳴らしても動作が重たくなる(ラグが出る)事はないので
もしかしたら、シエルさんが使用されている PC のスペックが原因と可能性も否めません。
もし宜しければ現象が再現できるプログラムをアップして頂ければ、
こちらでも確認してみようと思いますが如何でしょうか。

音楽の再生には DirectMusic を使用しているため
その辺で差が出ている場合は残念ながら私には解らないです;


[color=gray>> ちなみに私は下記リンクの質問の現象が解決しておりませんが、関係ありますでしょうか?[/color]
私の PC(XP) で実行してみましたが特に何も出ませんでした。
残念ながらこのエラーの対処法についてもアドバイスできません;
申し訳ないです;

シエル

Re:DirectSoundの動作について

#3

投稿記事 by シエル » 15年前

もう誰も返答がないと思ってましたがwありがとうございます!

ちょっと情報が少なすぎましたね。すみません。

最初に鳴らす音はSEです。
メニューを選択するときの音なんですが、キーを押した瞬間にカーソルが移動する描画を
しているんですが、描画が先に描画され音が少し遅れて再生される感じです。

本当にこの最初の時だけなんです。
それ以降はキーを押した瞬間に音がなります。

再生する音をサイズが大きいもの小さいものに変えてみてもまったく変わりません。

まあ今は半ばあきらめて、オープニングの音を早めに鳴らしてごまかそうと思ってるんですけどね;

その現象が発生するコードが出来たら貼りますが、いつになるかわかりません。
なので一旦忘れていただいて結構です。
その際はスレッドをあげるか、落ちてたらまた作成しますので。

>音楽の再生には DirectMusic を使用しているため
>その辺で差が出ている場合は残念ながら私には解らないです;

DirectMusicって廃止されてませんでしたっけ?
古いSDKをお持ちなのでしょうか?

シエル

Re:DirectSoundの動作について

#4

投稿記事 by シエル » 15年前

ちょっと時間あったんで、サンプルプログラム作成しました!
何か小さなSEのWAVEファイルをソリューションファイルと同じフォルダに「select.wav」というファイルをおいて、
「再生」ボタンを押してください。

押した瞬間にしたの方に四角形が描画されるようにしてます。

やっていただくとわかるんですが、一番最初に押したときだけ、ちょっとだけ描画が遅れます。
2回目以降はすぐ描画されます。

これはDirectSoundの動作として仕方のないことなのでしょうか?
どなたか分かるかたご教授お願い致します!


※すいません、コード貼ったら長すぎですって怒られたので、添付ファイル貼ります。

toyo

Re:DirectSoundの動作について

#5

投稿記事 by toyo » 15年前

ビルドしましたが遅れる感じはしないですね
1回目からクリックと同時に描画される気がします
CPUの違いで差が出るとも思えませんがCore2Quad 2.83GHzです
自分がビルドした実行ファイルをあげておきます

シエル

Re:DirectSoundの動作について

#6

投稿記事 by シエル » 15年前

toyoさん。実験ありがとうございます!

同時に描画されますか。。やはり私の環境だけなんでしょうかね。
私のCPUは1.66GHzです。メモリは4GB。CPUがヘボいんですかね。ノートPCなので。

誰か後数人実験していただけると助かります!

DVDM

Re:DirectSoundの動作について

#7

投稿記事 by DVDM » 15年前

>>シエルさん
[color=gray>> DirectMusicって廃止されてませんでしたっけ?
> 古いSDKをお持ちなのでしょうか?[/color]
前回作ったシューティングでは2006年10月の SDK を使用しておりました。
DirectMusic がなくなってしまったので乗り換えようと思ったのですが
面倒だったので、DirectMusic が使えるヘッダだけ新しいSDKに移して使ってます><


[color=gray>> やっていただくとわかるんですが、一番最初に押したときだけ、ちょっとだけ描画が遅れます。
> 2回目以降はすぐ描画されます。 [/color]
toyo さん同様私の方でもラグっぽいものは発生しませんでした。
また、toyo さんが添付されているファイルも実行しましたが動作に問題はないように思えました。
Core2 Duo 2.21GHzです。

[color=gray>> 私のCPUは1.66GHzです。メモリは4GB。CPUがヘボいんですかね。ノートPCなので。 [/color]
シングルコア…ではないですよね?
デュアルコアかクアッドコアだろうと思います。(多分)

以前、クロック周波数は同じくらいですが、CPUはシングルコアで、
メモリが256MBの PC で組んでいた時期もありました。
その時も音楽にラグが発生するような現象は起こりませんでした。



試しに、シエルさんの提示頂いたコードを元に DirectMusic 版を作成してみました。
起動出来ますでしょうか;

シエル

Re:DirectSoundの動作について

#8

投稿記事 by シエル » 15年前

>前回作ったシューティングでは2006年10月の SDK を使用しておりました。
>DirectMusic がなくなってしまったので乗り換えようと思ったのですが
>面倒だったので、DirectMusic が使えるヘッダだけ新しいSDKに移して使ってます><

なんという手を…。ちょっと笑っちゃいましたw


>シングルコア…ではないですよね?
>デュアルコアかクアッドコアだろうと思います。(多分)

正直CPUに疎いんですよね。皆さんみたいにCPUの名前だけで性能が分かるぐらいになりたい><
ちなみに詳細なCPUの名前はGenuine Intel(R) CPU T1600というやつでした。

>試しに、シエルさんの提示頂いたコードを元に DirectMusic 版を作成してみました。
>起動出来ますでしょうか;

作成ありがとうございます!
実行してみたら、ラグもなく描画も音もなりました!

toyoさんが、貼っていただいた実行ファイルではラグは発生したので、
DirectSoundを使用したコードで私のような特定の環境であれば、ラグが発生するということでしょうかね。
う~ん。環境の問題だと仕方なく諦めるしかなさそうですね;
なんとか誤魔化して頑張ります!

toyoさん、DVDMさん、お忙しいところどうもありがとうございました!

解決してないけど、諦めるので解決にします!

ISLe

Re:DirectSoundの動作について

#9

投稿記事 by ISLe » 15年前

ノートPCということなので省電力設定あたりが影響していないでしょうかね。

DirectMusicはWindows SDKに移動してDirectShowと統合されました。
プラットフォーム寄りということでDirectMusicはDirectSoundよりスタンバイ状態に近いのかもしれません。
何の確証もないですけれど。


初回の例外については結果コードの最上位ビットが立っていないので異常系ではない気がします。
MFCを使ってアプリを作ると種類は違いますが初回の例外が大量に発生します。
エラートラップして初期化に分岐するようになっているので正常なのだそうです。

シエル

Re:DirectSoundの動作について

#10

投稿記事 by シエル » 15年前

ISLeさん。ありがとうございます。

省電力設定を高パフォーマンスに設定してみましたが、変化なかったです。。
諦めるしかなさそうですね。

初回の例外については、少し安心致しました。ありがとうございます。

閉鎖

“C言語何でも質問掲示板” へ戻る