diff --git a/Code/Sandbox/Editor/CryEdit.cpp b/Code/Sandbox/Editor/CryEdit.cpp index b9c4f92ae8..e143e4dc66 100644 --- a/Code/Sandbox/Editor/CryEdit.cpp +++ b/Code/Sandbox/Editor/CryEdit.cpp @@ -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 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()) diff --git a/Code/Sandbox/Editor/MainWindow.cpp b/Code/Sandbox/Editor/MainWindow.cpp index d4741eafb8..05a1a027b0 100644 --- a/Code/Sandbox/Editor/MainWindow.cpp +++ b/Code/Sandbox/Editor/MainWindow.cpp @@ -489,11 +489,6 @@ void MainWindow::Initialize() ActionOverrideRequestBus::Event( GetEntityContextId(), &ActionOverrideRequests::SetupActionOverrideHandler, this); - // This function only happens after we're pretty sure that the engine has successfully started - so now would be a good time to start ticking the message pumps/etc. - AzToolsFramework::Ticker* ticker = new AzToolsFramework::Ticker(this); - ticker->Start(); - connect(ticker, &AzToolsFramework::Ticker::Tick, this, &MainWindow::SystemTick); - AzToolsFramework::EditorEventsBus::Broadcast(&AzToolsFramework::EditorEvents::NotifyMainWindowInitialized, this); } diff --git a/Gems/Atom/Feature/Common/Code/Source/Mesh/MeshFeatureProcessor.cpp b/Gems/Atom/Feature/Common/Code/Source/Mesh/MeshFeatureProcessor.cpp index 89d52a8bdd..0321fd6954 100644 --- a/Gems/Atom/Feature/Common/Code/Source/Mesh/MeshFeatureProcessor.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/Mesh/MeshFeatureProcessor.cpp @@ -8,6 +8,7 @@ #include #include +#include #include #include #include @@ -550,7 +551,10 @@ namespace AZ } else { - AZ_Error("MeshDataInstance::OnAssetReady", false, "Failed to create model instance for '%s'", asset.GetHint().c_str()); + //when running with null renderer, the RPI::Model::FindOrCreate(...) is expected to return nullptr, so suppress this error. + AZ_Error( + "MeshDataInstance::OnAssetReady", RHI::IsNullRenderer(), "Failed to create model instance for '%s'", + asset.GetHint().c_str()); } }