From bce8d4925919f858e29ea33ae61b59236e44ce17 Mon Sep 17 00:00:00 2001 From: ikanick Date: Sun, 21 Feb 2016 10:26:24 +0000 Subject: [PATCH] =?utf8?q?#36046=20=E6=9B=B2=E8=AA=AD=E3=81=BF=E8=BE=BC?= =?utf8?q?=E3=81=BF=E9=80=9F=E5=BA=A6=E3=82=92=E6=94=B9=E5=96=84=E3=81=99?= =?utf8?q?=E3=82=8B=E3=82=AA=E3=83=97=E3=82=B7=E3=83=A7=E3=83=B3=E3=81=AE?= =?utf8?q?=E8=BF=BD=E5=8A=A0=E3=80=82=E6=9B=B2=E8=AA=AD=E3=81=BF=E8=BE=BC?= =?utf8?q?=E3=81=BF=E6=99=82=E3=81=AE=E9=80=B2=E6=8D=97=E7=8E=87=E3=81=AE?= =?utf8?q?=E8=A1=A8=E7=A4=BA=E3=82=92=E8=BF=BD=E5=8A=A0=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit git-svn-id: http://svn.osdn.jp/svnroot/dtxmania/trunk@918 16f42ceb-6dc6-49c8-ba94-f2d53467949d --- .../ステージ/04.コンフィグ/CActConfigList.cs | 12 ++++++++++++ .../06.曲読み込み/CStage曲読み込み.cs | 10 ++++++---- .../コード/全体/CConfigIni.cs | 17 ++++++++++++++++- 3 files changed, 34 insertions(+), 5 deletions(-) diff --git a/DTXManiaプロジェクト/コード/ステージ/04.コンフィグ/CActConfigList.cs b/DTXManiaプロジェクト/コード/ステージ/04.コンフィグ/CActConfigList.cs index dc813437..9c7c0c3d 100644 --- a/DTXManiaプロジェクト/コード/ステージ/04.コンフィグ/CActConfigList.cs +++ b/DTXManiaプロジェクト/コード/ステージ/04.コンフィグ/CActConfigList.cs @@ -334,6 +334,15 @@ namespace DTXMania "To take it effective, you need to re-open DTXMania." ); this.list項目リスト.Add( this.iLogOutputLog ); + this.iSystemLoadsoundspeed = new CItemToggle( "LoadSoundSpeed", CDTXMania.ConfigIni.b曲読み込みを高速化する, + "曲読み込みを高速化する:\n" + + "ON にすると、曲読み込み画面での1フレームあたりの\nチップ音読み込み数を増やします。\n高速になりますが、応答停止の時間が増加しやすくなります。\n" + + "OFF にすると、低速ですが応答停止の時間が\n減少しやすくなります。\n\n", + "Load sounds speed.\n" + + "ON to High.\n" + + "OFF to Low." ); + this.list項目リスト.Add( this.iSystemLoadsoundspeed ); + #region [ WASAPI / ASIO ] // #24820 2013.1.3 yyagi this.iSystemSoundType = new CItemList( "SoundType", CItemList.Eパネル種別.通常, CDTXMania.ConfigIni.nSoundDeviceType, @@ -2607,6 +2616,7 @@ namespace DTXMania private CItemList iBassSudHid; // #32072 2013.9.20 yyagi private CItemBase iSystemReloadDTX; // #32081 2013.10.21 yyagi private CItemInteger iSystemMasterVolume; // #33700 2014.4.26 yyagi + private CItemToggle iSystemLoadsoundspeed; // #36046 2016.2.21 ikanick private int t前の項目( int nItem ) { @@ -2730,6 +2740,8 @@ namespace DTXMania //Trace.TraceInformation( "Skin現在BoxDef : " + CSkin.strBoxDefSkinSubfolderFullName ); CDTXMania.ConfigIni.nMasterVolume = this.iSystemMasterVolume.n現在の値; // #33700 2014.4.26 yyagi CDTXMania.ConfigIni.e判定表示優先度 = (E判定表示優先度) this.iSystemJudgeDispPriority.n現在選択されている項目番号; + + CDTXMania.ConfigIni.b曲読み込みを高速化する = this.iSystemLoadsoundspeed.bON;// #36046 2016.2.21 ikanick } private void tConfigIniへ記録する_Bass() { diff --git a/DTXManiaプロジェクト/コード/ステージ/06.曲読み込み/CStage曲読み込み.cs b/DTXManiaプロジェクト/コード/ステージ/06.曲読み込み/CStage曲読み込み.cs index 08bba520..8b5dac05 100644 --- a/DTXManiaプロジェクト/コード/ステージ/06.曲読み込み/CStage曲読み込み.cs +++ b/DTXManiaプロジェクト/コード/ステージ/06.曲読み込み/CStage曲読み込み.cs @@ -387,7 +387,8 @@ namespace DTXMania { ShowProgressByFilename( CDTXMania.DTX.listWAV[ nWAVcount ].strファイル名 ); } - int looptime = (CDTXMania.ConfigIni.b垂直帰線待ちを行う)? 3 : 1; // VSyncWait=ON時は1frame(1/60s)あたり3つ読むようにする + int looptime = ( CDTXMania.ConfigIni.b垂直帰線待ちを行う ) ? 3 : 1; + if ( CDTXMania.ConfigIni.b曲読み込みを高速化する ) looptime = CDTXMania.DTX.listWAV.Count / 20 + 1; // #xxxxx ikanick 2016.2.21 ロード高速化 垂直同期の有無に関わらず、1フレームに5%ぐらいずつロードする for ( int i = 0; i < looptime && nWAVcount <= CDTXMania.DTX.listWAV.Count; i++ ) { if ( CDTXMania.DTX.listWAV[ nWAVcount ].listこのWAVを使用するチャンネル番号の集合.Count > 0 ) // #28674 2012.5.8 yyagi @@ -398,7 +399,8 @@ namespace DTXMania } if ( nWAVcount <= CDTXMania.DTX.listWAV.Count ) { - ShowProgressByFilename( CDTXMania.DTX.listWAV[ nWAVcount ].strファイル名 ); + double f進捗率 = nWAVcount * 100.0f / CDTXMania.DTX.listWAV.Count; + ShowProgressByFilename( "" + f進捗率.ToString("0.0") + "% " + nWAVcount + "/" + CDTXMania.DTX.listWAV.Count + " " + CDTXMania.DTX.listWAV[ nWAVcount ].strファイル名 ); } if ( nWAVcount > CDTXMania.DTX.listWAV.Count ) { @@ -511,12 +513,12 @@ namespace DTXMania } - private void ShowProgressByFilename(string strファイル名 ) + private void ShowProgressByFilename(string strファイル名と進捗 ) { if ( graphicsFilename != null && ftFilename != null ) { graphicsFilename.Clear( Color.Transparent ); - graphicsFilename.DrawString( strファイル名, ftFilename, Brushes.White, new RectangleF( 0, 0, SampleFramework.GameWindowSize.Width, fFontSizeFilename * Scale.X ) ); + graphicsFilename.DrawString( strファイル名と進捗, ftFilename, Brushes.White, new RectangleF( 0, 0, SampleFramework.GameWindowSize.Width, fFontSizeFilename * Scale.X ) ); if ( txFilename != null ) { txFilename.Dispose(); diff --git a/DTXManiaプロジェクト/コード/全体/CConfigIni.cs b/DTXManiaプロジェクト/コード/全体/CConfigIni.cs index ab082ba4..0f4a9da5 100644 --- a/DTXManiaプロジェクト/コード/全体/CConfigIni.cs +++ b/DTXManiaプロジェクト/コード/全体/CConfigIni.cs @@ -506,6 +506,7 @@ namespace DTXMania public bool bUseBoxDefSkin; // #28195 2012.5.6 yyagi Skin切替用 box.defによるスキン変更機能を使用するか否か public STDGBVALUE eAutoGhost; // #35411 2015.8.18 chnmr0 プレー時使用ゴーストデータ種別 public STDGBVALUE eTargetGhost; // #35411 2015.8.18 chnmr0 ゴーストデータ再生方法 + public bool b曲読み込みを高速化する; // #36046 2016.2.21 ikanick public bool bConfigIniがないかDTXManiaのバージョンが異なる { @@ -697,6 +698,8 @@ namespace DTXMania public int nViewerウインドウheight; //public bool bNoMP3Streaming; // 2014.4.14 yyagi; mp3のシーク位置がおかしくなる場合は、これをtrueにすることで、wavにデコードしてからオンメモリ再生する public int nMasterVolume; + + #if false [StructLayout( LayoutKind.Sequential )] public struct STAUTOPLAY // C定数のEレーンとindexを一致させること @@ -1239,6 +1242,7 @@ namespace DTXMania //this.bNoMP3Streaming = false; this.nMasterVolume = 100; // #33700 2014.4.26 yyagi マスターボリュームの設定(WASAPI/ASIO用) + this.b曲読み込みを高速化する = true; } public CConfigIni( string iniファイル名 ) : this() @@ -1603,7 +1607,8 @@ namespace DTXMania sw.WriteLine( "; judgement/combo display priority (0:under chips, 1:over chips)" ); sw.WriteLine( "JudgeDispPriority={0}" , (int) this.e判定表示優先度 ); sw.WriteLine(); - sw.WriteLine( "; ドラムのレーン表示位置(0:左側, 1:中央)" ); + + sw.WriteLine( "; ドラムのレーン表示位置(0:左側, 1:中央)" ); // #2 sw.WriteLine( "; drums lane position (0:LEFT, 1:CENTER)" ); sw.WriteLine( "DrumsLanePosition={0}", (int) this.eドラムレーン表示位置 ); sw.WriteLine(); @@ -1668,6 +1673,12 @@ namespace DTXMania sw.WriteLine( "RDVelocityMin={0}", this.nVelocityMin.RD ); // sw.WriteLine(); // #endregion + + sw.WriteLine( "; 曲の読み込み速度を変更(0:低速, 1:高速)" ); // #36046 2016.2.21 add ikanick + sw.WriteLine( "; Load sounds speed (0:Low, 1:High)" ); + sw.WriteLine( "Loadsoundspeed={0}", this.b曲読み込みを高速化する ? 1 : 0 ); + sw.WriteLine(); + sw.WriteLine( ";-------------------" ); #endregion #region [ Log ] @@ -2620,6 +2631,10 @@ namespace DTXMania this.nVelocityMin.RD = C変換.n値を文字列から取得して範囲内に丸めて返す( str4, 0, 127, this.nVelocityMin.RD ); } #endregion + else if ( str3.Equals( "Loadsoundspeed" ) ) + { + this.b曲読み込みを高速化する = C変換.bONorOFF( str4[ 0 ] ); + } //else if ( str3.Equals( "NoMP3Streaming" ) ) //{ // this.bNoMP3Streaming = C変換.bONorOFF( str4[ 0 ] ); -- 2.11.0