Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorr.kuznetsov <r.kuznetsov@corp.mail.ru>2017-05-15 16:41:00 +0300
committerr.kuznetsov <r.kuznetsov@corp.mail.ru>2017-05-16 10:57:07 +0300
commitb204e830cffc41ecdd5035c0ecd060066e124bc1 (patch)
tree3409d90f6df7d5e6ad9b3169411e453a48bb0f92
parent42efb105af25eccdc3e8739e931cd540872b1fd3 (diff)
Limited reading threads count
-rw-r--r--drape_frontend/backend_renderer.cpp2
-rwxr-xr-xdrape_frontend/read_manager.cpp11
-rwxr-xr-xdrape_frontend/read_manager.hpp4
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;