From 4c865e881a0fb8be2a8751731418fac25cbdf68a Mon Sep 17 00:00:00 2001 From: rachytski Date: Sun, 29 Jul 2012 12:22:48 -0700 Subject: [PATCH] partially executing commands collected on CoverageGenerator thread while navigation for smooth GUI performance. --- map/basic_tiling_render_policy.cpp | 4 ++++ map/tiling_render_policy_st.cpp | 3 +++ 2 files changed, 7 insertions(+) diff --git a/map/basic_tiling_render_policy.cpp b/map/basic_tiling_render_policy.cpp index ecf5707afd..c627ec9515 100644 --- a/map/basic_tiling_render_policy.cpp +++ b/map/basic_tiling_render_policy.cpp @@ -124,6 +124,8 @@ void BasicTilingRenderPolicy::StartNavigation() m_TileRenderer->SetIsPaused(true); m_IsNavigating = true; m_TileRenderer->CancelCommands(); + if (m_QueuedRenderer) + m_QueuedRenderer->SetPartialExecution(GetPlatform().CpuCores(), true); } void BasicTilingRenderPolicy::StopNavigation() @@ -131,6 +133,8 @@ void BasicTilingRenderPolicy::StopNavigation() m_TileRenderer->SetIsPaused(false); m_IsNavigating = false; m_DoRecreateCoverage = true; + if (m_QueuedRenderer) + m_QueuedRenderer->SetPartialExecution(GetPlatform().CpuCores(), false); } void BasicTilingRenderPolicy::StartScale() diff --git a/map/tiling_render_policy_st.cpp b/map/tiling_render_policy_st.cpp index d2e85fc780..ebbcb6ba47 100644 --- a/map/tiling_render_policy_st.cpp +++ b/map/tiling_render_policy_st.cpp @@ -229,6 +229,9 @@ void TilingRenderPolicyST::SetRenderFn(TRenderFn renderFn) delete [] queues; + /// CoverageGenerator rendering queue could execute commands partially + /// as there are no render-to-texture calls. +// m_QueuedRenderer->SetPartialExecution(cpuCores, true); m_CoverageGenerator.reset(new CoverageGenerator(skinName, m_TileRenderer.get(), m_windowHandle,