Fix Invalid Frame Skip Detection

This commit is contained in:
copecone committed 2026-05-22 22:32:01 +09:00
1 parent f807eae382
commit f40738a4e6
3 files changed
+9 -6

No files matched your search

+1 -1
View File
@@ -236,7 +236,7 @@ namespace ADOFAIRenderer.Component
} }
var startTime = DateTime.Now; 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(() => RenderThread = new Thread(() =>
{ {
+3 -3
View File
@@ -17,15 +17,15 @@ namespace ADOFAIRenderer.Patch.ClassPatch
{ {
if (!RenderMod.IsRendering) return; if (!RenderMod.IsRendering) return;
___txt.text = "Rendering..."; ___txt.text = "Render";
if (RenderManager.Countdown > 0) ___txt.text = $"Rendering in {RenderManager.Countdown}.."; if (RenderManager.Countdown > 0) ___txt.text = $"Render in {RenderManager.Countdown}s..";
if (RenderManager.WonFrame != -1) if (RenderManager.WonFrame != -1)
{ {
var elapsedFrames = RenderManager.FrameCount - RenderManager.WonFrame; var elapsedFrames = RenderManager.FrameCount - RenderManager.WonFrame;
var remainingTime = RenderManager.Configuration.EndWaitTime - elapsedFrames / RenderManager.Configuration.TargetFPS; var remainingTime = RenderManager.Configuration.EndWaitTime - elapsedFrames / RenderManager.Configuration.TargetFPS;
if (remainingTime < 0) remainingTime = 0; if (remainingTime < 0) remainingTime = 0;
___txt.text += $"\nWaiting for {remainingTime:F1}s..."; ___txt.text += $"\nWaiting for {remainingTime:F1}s..";
} }
___txt.color = ___defaultColor; ___txt.color = ___defaultColor;
+5 -2
View File
@@ -77,7 +77,7 @@ namespace ADOFAIRenderer
if (!IsRendering) return; if (!IsRendering) return;
// [렉으로 인한 프레임 렌더링 스킵 시 재시도 로직 (원본 모드 이식)] // [렉으로 인한 프레임 렌더링 스킵 시 재시도 로직 (원본 모드 이식)]
if (RenderCheck) if (RenderCheck && IsCapturing)
{ {
if (SkipCount < 60) if (SkipCount < 60)
{ {
@@ -114,7 +114,10 @@ namespace ADOFAIRenderer
RenderCheck = true; // 다음 프레임 검사용으로 초기화 RenderCheck = true; // 다음 프레임 검사용으로 초기화
RenderManager.FrameCount++; RenderManager.FrameCount++;
Time.timeScale = (float)(Time.deltaTime / realDeltaTime); if (realDeltaTime > 0)
{
Time.timeScale = (float)(Time.deltaTime / realDeltaTime);
}
} }
public static int FrameCountForVideo = 0; public static int FrameCountForVideo = 0;