diff --git a/Code/Editor/CryEdit.cpp b/Code/Editor/CryEdit.cpp index 75e6e8cb9a..e78febab05 100644 --- a/Code/Editor/CryEdit.cpp +++ b/Code/Editor/CryEdit.cpp @@ -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 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()) diff --git a/Code/Editor/MainWindow.cpp b/Code/Editor/MainWindow.cpp index 249949573f..10dfddbf8c 100644 --- a/Code/Editor/MainWindow.cpp +++ b/Code/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 94ae528633..ca0bc73998 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 @@ -526,7 +527,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()); } }