From b204e830cffc41ecdd5035c0ecd060066e124bc1 Mon Sep 17 00:00:00 2001 From: "r.kuznetsov" Date: Mon, 15 May 2017 16:41:00 +0300 Subject: Limited reading threads count --- drape_frontend/backend_renderer.cpp | 2 +- drape_frontend/read_manager.cpp | 11 +++-------- drape_frontend/read_manager.hpp | 4 ++-- 3 files changed, 6 insertions(+), 11 deletions(-) diff --git a/drape_frontend/backend_renderer.cpp b/drape_frontend/backend_renderer.cpp index 67a9e84e91..3b637db0c0 100644 --- a/drape_frontend/backend_renderer.cpp +++ b/drape_frontend/backend_renderer.cpp @@ -518,7 +518,7 @@ void BackendRenderer::Routine::Do() void BackendRenderer::InitGLDependentResource() { uint32_t constexpr kBatchSize = 5000; - m_batchersPool = make_unique_dp>(ReadManager::ReadCount(), + m_batchersPool = make_unique_dp>(kReadingThreadsCount, bind(&BackendRenderer::FlushGeometry, this, _1, _2, _3), kBatchSize, kBatchSize); m_trafficGenerator->Init(); diff --git a/drape_frontend/read_manager.cpp b/drape_frontend/read_manager.cpp index 7d500ff7c7..35224da209 100755 --- a/drape_frontend/read_manager.cpp +++ b/drape_frontend/read_manager.cpp @@ -41,7 +41,8 @@ ReadManager::ReadManager(ref_ptr commutator, MapDataProvider bool allow3dBuildings, bool trafficEnabled) : m_commutator(commutator) , m_model(model) - , m_pool(make_unique_dp(ReadCount(), bind(&ReadManager::OnTaskFinished, this, _1))) + , m_pool(make_unique_dp(kReadingThreadsCount, + bind(&ReadManager::OnTaskFinished, this, _1))) , m_have3dBuildings(false) , m_allow3dBuildings(allow3dBuildings) , m_trafficEnabled(trafficEnabled) @@ -49,8 +50,7 @@ ReadManager::ReadManager(ref_ptr commutator, MapDataProvider , myPool(64, ReadMWMTaskFactory(m_model)) , m_counter(0) , m_generationCounter(0) -{ -} +{} void ReadManager::OnTaskFinished(threads::IRoutine * task) { @@ -188,11 +188,6 @@ bool ReadManager::CheckTileKey(TileKey const & tileKey) const return false; } -uint32_t ReadManager::ReadCount() -{ - return max(static_cast(GetPlatform().CpuCores()) - 2, 2); -} - bool ReadManager::MustDropAllTiles(ScreenBase const & screen) const { int const oldScale = df::GetDrawTileScale(m_currentViewport); diff --git a/drape_frontend/read_manager.hpp b/drape_frontend/read_manager.hpp index e8ced849fe..ed6b6e138b 100755 --- a/drape_frontend/read_manager.hpp +++ b/drape_frontend/read_manager.hpp @@ -26,6 +26,8 @@ namespace df class MapDataProvider; class CoverageUpdateDescriptor; +uint8_t constexpr kReadingThreadsCount = 2; + class ReadManager { public: @@ -47,8 +49,6 @@ public: void RemoveCustomSymbols(MwmSet::MwmId const & mwmId, std::vector & leftoverIds); void RemoveAllCustomSymbols(); - static uint32_t ReadCount(); - private: void OnTaskFinished(threads::IRoutine * task); bool MustDropAllTiles(ScreenBase const & screen) const; -- cgit v1.2.3