修订版 | 166128a5cece38658cb750f35e542bd5c07ec06a (tree) |
---|---|
时间 | 2018-08-22 01:42:28 |
作者 | yyagi <yyagi.dtxmania@gmai...> |
Commiter | yyagi |
#37271 TimeStretch=OFFの時に限り、ミキシング負荷を従来の半分にした。
従来は読み込むサウンド(xPolyphonicSounds)分だけテンポ変更のストリームを生成し接続していたが、これの負荷が相当大きかった模様。
(再生速度がx1.000の時はテンポ変更ストリームを通さないようにしていたつもりだったが、結局通るだけ通っていて、通した結果が破棄されていた。そのためまるで負荷軽減になっていなかった。)
@@ -1766,7 +1766,10 @@ Debug.WriteLine("更に再生に失敗: " + Path.GetFileName(this.strファイ | ||
1766 | 1766 | |
1767 | 1767 | // 個々のストリームの出力をテンポ変更のストリームに入力する。テンポ変更ストリームの出力を、Mixerに出力する。 |
1768 | 1768 | |
1769 | -// if ( CSound管理.bIsTimeStretch ) // TimeStretchのON/OFFに関わりなく、テンポ変更のストリームを生成する。後からON/OFF切り替え可能とするため。 | |
1769 | + _hTempoStream = 0; | |
1770 | + if ( CSound管理.bIsTimeStretch ) // TimeStretchのON/OFFに関わりなく、テンポ変更のストリームを生成する。後からON/OFF切り替え可能とするため。 | |
1771 | + // ... と思ったが、1サウンド辺り1つのテンポ変更ストリームが存在することになり、 | |
1772 | + // ミキシング負荷が非常に高くなるため、結局TimeStretch=ONの時のみ店舗変更ストリームを提供することにした。 | |
1770 | 1773 | { |
1771 | 1774 | this._hTempoStream = BassFx.BASS_FX_TempoCreate( this._hBassStream, BASSFlag.BASS_STREAM_DECODE | BASSFlag.BASS_FX_FREESOURCE ); |
1772 | 1775 | if ( this._hTempoStream == 0 ) |