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
parent 82bd18ef5a
commit aff4859251
3 changed files with 15 additions and 29 deletions
+10 -23
View File
@@ -2312,13 +2312,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)
@@ -2330,15 +2323,11 @@ 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();
@@ -2351,15 +2340,13 @@ int CCryEditApp::IdleProcessing(bool bBackgroundUpdate)
{
pEditor->GetSystem()->DoWorkDuringOcclusionChecks();
}
}
// 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())