short term fix for editor/game mode/launcher tick times consistency (#1720)

Signed-off-by: amzn-sean <75276488+amzn-sean@users.noreply.github.com>
This commit is contained in:
amzn-sean
2021-07-01 14:47:51 +01:00
committed by GitHub
parent c6b86e3c40
commit a02ecefab9
3 changed files with 15 additions and 29 deletions
+10 -23
View File
@@ -2302,13 +2302,6 @@ int CCryEditApp::IdleProcessing(bool bBackgroundUpdate)
m_bPrevActive = bActive;
AZStd::chrono::system_clock::time_point now = AZStd::chrono::system_clock::now();
static AZStd::chrono::system_clock::time_point lastUpdate = now;
AZStd::chrono::duration<float> delta = now - lastUpdate;
lastUpdate = now;
// Don't tick application if we're doing idle processing during an assert.
const bool isErrorWindowVisible = (gEnv && gEnv->pSystem->IsAssertDialogVisible());
if (isErrorWindowVisible)
@@ -2320,30 +2313,24 @@ int CCryEditApp::IdleProcessing(bool bBackgroundUpdate)
}
else if (bActive || (bBackgroundUpdate && !bIsAppWindow))
{
if (GetIEditor()->IsInGameMode())
{
// Update Game
GetIEditor()->GetGameEngine()->Update();
}
else
{
GetIEditor()->GetGameEngine()->Update();
// Update Game
GetIEditor()->GetGameEngine()->Update();
if (!GetIEditor()->IsInGameMode())
{
if (m_pEditor)
{
m_pEditor->Update();
}
GetIEditor()->Notify(eNotify_OnIdleUpdate);
}
// Since the rendering is done based on the eNotify_OnIdleUpdate, we should trigger a TickSystem as well.
// To ensure that there's a system tick for every render done in Idle
AZ::ComponentApplication* componentApplication = nullptr;
AZ::ComponentApplicationBus::BroadcastResult(componentApplication, &AZ::ComponentApplicationRequests::GetApplication);
if (componentApplication)
{
componentApplication->TickSystem();
}
AZ::ComponentApplication* componentApplication = nullptr;
AZ::ComponentApplicationBus::BroadcastResult(componentApplication, &AZ::ComponentApplicationRequests::GetApplication);
if (componentApplication)
{
componentApplication->TickSystem();
}
}
else if (GetIEditor()->GetSystem() && GetIEditor()->GetSystem()->GetILog())