1
0
mirror of synced 2024-11-28 09:20:53 +01:00

入力とテクスチャの不具合の修正 (#522)

* 入力とテクスチャの不具合の修正

* 非同期テクスチャの読み込みをデフォルトで有効に
This commit is contained in:
Takkkom 2023-11-12 16:04:17 +09:00 committed by GitHub
parent 27c85fd891
commit 9ab057d58f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 38 additions and 3 deletions

View File

@ -1360,6 +1360,7 @@ namespace TJAPlayer3
public int nMasterVolume; public int nMasterVolume;
public bool ShinuchiMode; // 真打モード public bool ShinuchiMode; // 真打モード
public bool FastRender; // 事前画像描画モード public bool FastRender; // 事前画像描画モード
public bool ASyncTextureLoad; // 事前画像描画モード
public bool PreAssetsLoading; // 事前画像描画モード public bool PreAssetsLoading; // 事前画像描画モード
public int MusicPreTimeMs; // 音源再生前の待機時間ms public int MusicPreTimeMs; // 音源再生前の待機時間ms
@ -1956,6 +1957,7 @@ namespace TJAPlayer3
ShinuchiMode = true; // Enable gen-4 score by default ShinuchiMode = true; // Enable gen-4 score by default
TJAP3FolderMode = false; TJAP3FolderMode = false;
FastRender = true; FastRender = true;
ASyncTextureLoad = true;
PreAssetsLoading = true; PreAssetsLoading = true;
MusicPreTimeMs = 1000; // 一秒 MusicPreTimeMs = 1000; // 一秒
SendDiscordPlayingInformation = true; SendDiscordPlayingInformation = true;
@ -2065,6 +2067,10 @@ namespace TJAPlayer3
sw.WriteLine("; 事前画像描画機能を使うかどうか。(0: OFF, 1: ON)"); sw.WriteLine("; 事前画像描画機能を使うかどうか。(0: OFF, 1: ON)");
sw.WriteLine("; Use pre-textures render."); sw.WriteLine("; Use pre-textures render.");
sw.WriteLine("{0}={1}", nameof(FastRender), FastRender ? 1 : 0); sw.WriteLine("{0}={1}", nameof(FastRender), FastRender ? 1 : 0);
sw.WriteLine();
sw.WriteLine("; 非同期画像読み込みを行うかどうか。(0: OFF, 1: ON)");
sw.WriteLine("; Use pre-textures render.");
sw.WriteLine("{0}={1}", nameof(ASyncTextureLoad), ASyncTextureLoad ? 1 : 0);
sw.WriteLine(); sw.WriteLine();
#endregion #endregion
@ -2935,6 +2941,10 @@ namespace TJAPlayer3
{ {
FastRender = CConversion.bONorOFF(str4[0]); FastRender = CConversion.bONorOFF(str4[0]);
} }
else if (str3.Equals(nameof(ASyncTextureLoad)))
{
ASyncTextureLoad = CConversion.bONorOFF(str4[0]);
}
#endregion #endregion
#region [ Window関係 ] #region [ Window関係 ]
else if ( str3.Equals( "GraphicsDeviceType" ) ) else if ( str3.Equals( "GraphicsDeviceType" ) )

View File

@ -728,13 +728,13 @@ namespace TJAPlayer3
} }
protected override void Update() protected override void Update()
{ {
Input管理?.Polling( TJAPlayer3.ConfigIni.bバッファ入力を行う );
} }
protected override void Draw() protected override void Draw()
{ {
// Sound管理?.t再生中の処理をする(); // Sound管理?.t再生中の処理をする();
Timer?.Update(); Timer?.Update();
SoundManager.PlayTimer?.Update(); SoundManager.PlayTimer?.Update();
Input管理?.Polling( TJAPlayer3.ConfigIni.bバッファ入力を行う );
FPS?.Update(); FPS?.Update();
if (BeatScaling != null) if (BeatScaling != null)

View File

@ -158,6 +158,12 @@ namespace TJAPlayer3
[98] = "Capture key assign:\nTo assign key for screen capture.\n (You can use keyboard only. You can't\nuse pads to capture screenshot.", [98] = "Capture key assign:\nTo assign key for screen capture.\n (You can use keyboard only. You can't\nuse pads to capture screenshot.",
[99] = "LeftRed", [99] = "LeftRed",
[9994] = "Texture Loading Type:\n" +
"Freeze on startup disappears\n" +
"Turn this option off if some textures turn black\n" +
"This change will take effect after restarting OpenTaiko\n",
[9995] = "ASync Texture Loading",
[9996] = "Drawing Method:\n" + [9996] = "Drawing Method:\n" +
"Select from either OpenGL,\n" + "Select from either OpenGL,\n" +
"Vulkan, DirectX11, or DirectX12.\n" + "Vulkan, DirectX11, or DirectX12.\n" +

View File

@ -212,6 +212,11 @@ namespace TJAPlayer3
[98] = "キャプチャキー設定:\n画面キャプチャのキーの割り当てを設\n定します。", [98] = "キャプチャキー設定:\n画面キャプチャのキーの割り当てを設\n定します。",
[99] = "LeftRed", [99] = "LeftRed",
[9994] = "テクスチャの読み込み方法:\n" +
"起動時のフリーズが消えます\n" +
"テクスチャが黒くなる場合はこのオプションをOFFにしてください\n" +
"この変更は再起動後に反映されます\n",
[9995] = "非同期テクスチャ読み込み",
[9996] = "描画の方式:\n" + [9996] = "描画の方式:\n" +
"OpenGL, Vulkan, DirectX11, DirectX12\n" + "OpenGL, Vulkan, DirectX11, DirectX12\n" +

View File

@ -135,7 +135,7 @@ namespace TJAPlayer3
case CStage.Eフェーズ._テクスチャの読み込み: case CStage.Eフェーズ._テクスチャの読み込み:
if (!bIsLoadingTextures) if (!bIsLoadingTextures)
{ {
Task.Run(() => void loadTexture()
{ {
this.list進行文字列.Add("LOADING TEXTURES..."); this.list進行文字列.Add("LOADING TEXTURES...");
try try
@ -150,7 +150,15 @@ namespace TJAPlayer3
this.str現在進行中 = "Setup done."; this.str現在進行中 = "Setup done.";
this.eフェーズID = Eフェーズ.7_; this.eフェーズID = Eフェーズ.7_;
TJAPlayer3.Skin.bgm起動画面.t停止する(); TJAPlayer3.Skin.bgm起動画面.t停止する();
}); }
if (TJAPlayer3.ConfigIni.ASyncTextureLoad)
{
Task.Run(loadTexture);
}
else
{
loadTexture();
}
} }
bIsLoadingTextures = true; bIsLoadingTextures = true;
break; break;

View File

@ -265,6 +265,10 @@ namespace TJAPlayer3
CLangManager.LangInstance.GetString(52)); CLangManager.LangInstance.GetString(52));
this.list項目リスト.Add(FastRender); this.list項目リスト.Add(FastRender);
ASyncTextureLoad = new CItemToggle(CLangManager.LangInstance.GetString(9995), TJAPlayer3.ConfigIni.ASyncTextureLoad,
CLangManager.LangInstance.GetString(9994));
this.list項目リスト.Add(ASyncTextureLoad);
ShowPuchiChara = new CItemToggle(CLangManager.LangInstance.GetString(10053), TJAPlayer3.ConfigIni.ShowPuchiChara, ShowPuchiChara = new CItemToggle(CLangManager.LangInstance.GetString(10053), TJAPlayer3.ConfigIni.ShowPuchiChara,
CLangManager.LangInstance.GetString(53)); CLangManager.LangInstance.GetString(53));
this.list項目リスト.Add(ShowPuchiChara); this.list項目リスト.Add(ShowPuchiChara);
@ -1571,6 +1575,7 @@ namespace TJAPlayer3
CItemToggle iShowExExtraAnime; CItemToggle iShowExExtraAnime;
CItemToggle ShinuchiMode; CItemToggle ShinuchiMode;
CItemToggle FastRender; CItemToggle FastRender;
CItemToggle ASyncTextureLoad;
CItemInteger MusicPreTimeMs; CItemInteger MusicPreTimeMs;
private CItemInteger iInputAdjustTimeMs; private CItemInteger iInputAdjustTimeMs;
@ -1689,6 +1694,7 @@ namespace TJAPlayer3
TJAPlayer3.ConfigIni.nLayoutType = this.iLayoutType.n現在の値; TJAPlayer3.ConfigIni.nLayoutType = this.iLayoutType.n現在の値;
TJAPlayer3.ConfigIni.FastRender = this.FastRender.bON; TJAPlayer3.ConfigIni.FastRender = this.FastRender.bON;
TJAPlayer3.ConfigIni.ASyncTextureLoad = this.ASyncTextureLoad.bON;
} }
private void tConfigIniへ記録する_Drums() private void tConfigIniへ記録する_Drums()
{ {