From f40738a4e6186c49ad08f8d4bb7b5bffde55d7c63f8268d685f3baa719c8191c Mon Sep 17 00:00:00 2001 From: copecone Date: Fri, 22 May 2026 22:32:01 +0900 Subject: [PATCH] Fix Invalid Frame Skip Detection --- Component/RenderManager.cs | 2 +- Patch/ClassPatch/scrShowIfDebugPatch.cs | 6 +++--- RenderMod.cs | 7 +++++-- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/Component/RenderManager.cs b/Component/RenderManager.cs index 07f8eea..eabfd93 100644 --- a/Component/RenderManager.cs +++ b/Component/RenderManager.cs @@ -236,7 +236,7 @@ namespace ADOFAIRenderer.Component } var startTime = DateTime.Now; - var fileName = startTime.ToString("yyyy-MM-dd HH_mm_ss") + ext; + var fileName = startTime.ToString("yyyy-MM-dd HH:mm:ss") + ext; RenderThread = new Thread(() => { diff --git a/Patch/ClassPatch/scrShowIfDebugPatch.cs b/Patch/ClassPatch/scrShowIfDebugPatch.cs index 16921a3..1c10b5c 100644 --- a/Patch/ClassPatch/scrShowIfDebugPatch.cs +++ b/Patch/ClassPatch/scrShowIfDebugPatch.cs @@ -17,15 +17,15 @@ namespace ADOFAIRenderer.Patch.ClassPatch { if (!RenderMod.IsRendering) return; - ___txt.text = "Rendering..."; - if (RenderManager.Countdown > 0) ___txt.text = $"Rendering in {RenderManager.Countdown}.."; + ___txt.text = "Render"; + if (RenderManager.Countdown > 0) ___txt.text = $"Render in {RenderManager.Countdown}s.."; if (RenderManager.WonFrame != -1) { var elapsedFrames = RenderManager.FrameCount - RenderManager.WonFrame; var remainingTime = RenderManager.Configuration.EndWaitTime - elapsedFrames / RenderManager.Configuration.TargetFPS; if (remainingTime < 0) remainingTime = 0; - ___txt.text += $"\nWaiting for {remainingTime:F1}s..."; + ___txt.text += $"\nWaiting for {remainingTime:F1}s.."; } ___txt.color = ___defaultColor; diff --git a/RenderMod.cs b/RenderMod.cs index 9eb591d..966e0ba 100644 --- a/RenderMod.cs +++ b/RenderMod.cs @@ -77,7 +77,7 @@ namespace ADOFAIRenderer if (!IsRendering) return; // [렉으로 인한 프레임 렌더링 스킵 시 재시도 로직 (원본 모드 이식)] - if (RenderCheck) + if (RenderCheck && IsCapturing) { if (SkipCount < 60) { @@ -114,7 +114,10 @@ namespace ADOFAIRenderer RenderCheck = true; // 다음 프레임 검사용으로 초기화 RenderManager.FrameCount++; - Time.timeScale = (float)(Time.deltaTime / realDeltaTime); + if (realDeltaTime > 0) + { + Time.timeScale = (float)(Time.deltaTime / realDeltaTime); + } } public static int FrameCountForVideo = 0;