0

monogame 2.5 を使用してサウンドに問題があります

私のアプリは一連の png を読み込んで、レンダリング中に表示しています。読み込みとレンダリングはかなり高速ですが、サウンドは「非常に遅く」、「グリッチ」に満ちています。メインスレッドがサウンドを処理するのに十分な時間がないようです。

コードに飛び込んで、私はこの方法を見つけました:

public override bool BeforeDraw(GameTime gameTime)        
{ 
// Update our OpenAL sound buffer pools 
soundControllerInstance.Update();            
if (IsPlayingVideo)                return false;
            return true;        
}

したがって、このメソッドは 1/33 秒と呼ばれる必要があると思います。

問題は、1/12 秒ごとに新しいイメージをロードする必要があることです。このプロセスには時間がかかり、メイン スレッドが停止します。

もちろん、私はバックグラウンドワーカーを使用しようとしましたが、Texture2Dインスタンスが必要なため、OpenGLコンテキストのためにメインスレッドにロードする必要があります.

バックグラウンドワーカーに画像をロードし、メインスレッドでも作成しようとしましたTexture2Dが、問題は解決しません。

ああ、私のサウンドは mp3 サウンドですが、wav でテストしましたが、結果はありません!! :(

4

1 に答える 1

-1

問題はGC.Collect()、テクスチャを変更するたびに呼び出していたことでした。ご覧のとおり、このメソッドはすべてをブロックします (オーディオを含む!!)

を削除しましたがGC.Collect()、今では正常に動作しています!!!

于 2013-02-02T14:07:09.317 に答える