diff options
author | Yuri Gorshenin <mipt.vi002@gmail.com> | 2017-05-16 11:52:17 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-05-16 11:52:17 +0300 |
commit | 0b16a5ee56d6b3945c77166dab8467a6bc215273 (patch) | |
tree | caab18b7ee399d3b2a2922e47e7be8735d61a30f | |
parent | b02a967ae1d9357752e831031fecb967a94d2a0d (diff) | |
parent | b204e830cffc41ecdd5035c0ecd060066e124bc1 (diff) |
Merge pull request #6065 from rokuz/master-limit-threadbeta-808
Limited reading threads count
-rw-r--r-- | drape_frontend/backend_renderer.cpp | 2 | ||||
-rwxr-xr-x | drape_frontend/read_manager.cpp | 11 | ||||
-rwxr-xr-x | 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<BatchersPool<TileKey, TileKeyStrictComparator>>(ReadManager::ReadCount(), + m_batchersPool = make_unique_dp<BatchersPool<TileKey, TileKeyStrictComparator>>(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<ThreadsCommutator> commutator, MapDataProvider bool allow3dBuildings, bool trafficEnabled) : m_commutator(commutator) , m_model(model) - , m_pool(make_unique_dp<threads::ThreadPool>(ReadCount(), bind(&ReadManager::OnTaskFinished, this, _1))) + , m_pool(make_unique_dp<threads::ThreadPool>(kReadingThreadsCount, + bind(&ReadManager::OnTaskFinished, this, _1))) , m_have3dBuildings(false) , m_allow3dBuildings(allow3dBuildings) , m_trafficEnabled(trafficEnabled) @@ -49,8 +50,7 @@ ReadManager::ReadManager(ref_ptr<ThreadsCommutator> 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<int>(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<FeatureID> & leftoverIds); void RemoveAllCustomSymbols(); - static uint32_t ReadCount(); - private: void OnTaskFinished(threads::IRoutine * task); bool MustDropAllTiles(ScreenBase const & screen) const; |