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:
authorYuri Gorshenin <mipt.vi002@gmail.com>2017-05-16 11:52:17 +0300
committerGitHub <noreply@github.com>2017-05-16 11:52:17 +0300
commit0b16a5ee56d6b3945c77166dab8467a6bc215273 (patch)
treecaab18b7ee399d3b2a2922e47e7be8735d61a30f
parentb02a967ae1d9357752e831031fecb967a94d2a0d (diff)
parentb204e830cffc41ecdd5035c0ecd060066e124bc1 (diff)
Merge pull request #6065 from rokuz/master-limit-threadbeta-808
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;