SHA256
Apply Better Handling of Render Cancel
This commit is contained in:
1 parent
42741c2cb2
commit
379c0360d7
2 files changed
+6
-12
No files matched your search
@@ -23,7 +23,7 @@ namespace ADOFAIRenderer.Component
|
|||||||
private static GameObject? _escapeHandlerObj;
|
private static GameObject? _escapeHandlerObj;
|
||||||
private static string? _currentOutPath;
|
private static string? _currentOutPath;
|
||||||
|
|
||||||
private static bool _isRenderCancelled = false;
|
public static bool IsRenderCancelled = false;
|
||||||
public static RenderSettings Configuration;
|
public static RenderSettings Configuration;
|
||||||
|
|
||||||
public struct RenderSettings
|
public struct RenderSettings
|
||||||
@@ -218,6 +218,7 @@ namespace ADOFAIRenderer.Component
|
|||||||
ImageQueue.Clear();
|
ImageQueue.Clear();
|
||||||
}
|
}
|
||||||
PassCount = 0;
|
PassCount = 0;
|
||||||
|
IsRenderCancelled = false;
|
||||||
RenderMod.FrameCountForVideo = 0;
|
RenderMod.FrameCountForVideo = 0;
|
||||||
RenderMod.RenderCheck = true;
|
RenderMod.RenderCheck = true;
|
||||||
RenderMod.SkipCount = 0;
|
RenderMod.SkipCount = 0;
|
||||||
@@ -292,7 +293,7 @@ namespace ADOFAIRenderer.Component
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_isRenderCancelled)
|
if (IsRenderCancelled)
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -325,7 +326,7 @@ namespace ADOFAIRenderer.Component
|
|||||||
public void CancelRender()
|
public void CancelRender()
|
||||||
{
|
{
|
||||||
RenderMod.IsRendering = RenderMod.IsCapturing = false;
|
RenderMod.IsRendering = RenderMod.IsCapturing = false;
|
||||||
_isRenderCancelled = true;
|
IsRenderCancelled = true;
|
||||||
|
|
||||||
StopFFmpeg(false);
|
StopFFmpeg(false);
|
||||||
EndRender();
|
EndRender();
|
||||||
|
|||||||
+2
-9
@@ -45,14 +45,7 @@ namespace ADOFAIRenderer.Util
|
|||||||
|
|
||||||
lock (_poolLock)
|
lock (_poolLock)
|
||||||
{
|
{
|
||||||
if (_statePool.Count == 0)
|
state = _statePool.Count == 0 ? new ReadbackRequestState(this) : _statePool.Pop();
|
||||||
{
|
|
||||||
state = new ReadbackRequestState(this);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
state = _statePool.Pop();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var bufferSize = texture.width * texture.height * 4; // RGBA = 4 channel
|
var bufferSize = texture.width * texture.height * 4; // RGBA = 4 channel
|
||||||
@@ -70,7 +63,7 @@ namespace ADOFAIRenderer.Util
|
|||||||
{
|
{
|
||||||
var frame = state.FrameIndex;
|
var frame = state.FrameIndex;
|
||||||
|
|
||||||
if (!RenderMod.IsCapturing)
|
if (RenderManager.IsRenderCancelled)
|
||||||
{
|
{
|
||||||
RecycleState(state);
|
RecycleState(state);
|
||||||
return;
|
return;
|
||||||
|
|||||||
Reference in new issue
Block a user