diff options
author | Thiago Marcos P. Santos <tmpsantos@gmail.com> | 2018-06-06 14:15:15 +0300 |
---|---|---|
committer | Thiago Marcos P. Santos <tmpsantos@gmail.com> | 2018-06-15 19:33:27 +0300 |
commit | a5ef72a0516495ebc1663e015ca93d4178e9d091 (patch) | |
tree | b807518f624b659a7dc681657815ce047e508b36 /platform/qt/src/qmapboxgl_map_renderer.hpp | |
parent | 144c167274f629523d265b9a54326ff544133413 (diff) | |
download | qtlocation-mapboxgl-a5ef72a0516495ebc1663e015ca93d4178e9d091.tar.gz |
Use a shared scheduler on threads without a default scheduler
Render threads won't have a scheduler, so we create one that is
shared by all the maps rendering at this thread. The bad side
effect of this is that we need to wake up the render thread
to process events.
Mapbox GL should get rid of processing events on the render
thread. This solution is a workaround.
Diffstat (limited to 'platform/qt/src/qmapboxgl_map_renderer.hpp')
-rw-r--r-- | platform/qt/src/qmapboxgl_map_renderer.hpp | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/platform/qt/src/qmapboxgl_map_renderer.hpp b/platform/qt/src/qmapboxgl_map_renderer.hpp index adba11de51..0b17542e2f 100644 --- a/platform/qt/src/qmapboxgl_map_renderer.hpp +++ b/platform/qt/src/qmapboxgl_map_renderer.hpp @@ -14,7 +14,6 @@ #include <memory> #include <mutex> -#include <queue> namespace mbgl { class Renderer; @@ -23,7 +22,7 @@ class UpdateParameters; class QMapboxGLRendererBackend; -class QMapboxGLMapRenderer : public QObject, public mbgl::Scheduler +class QMapboxGLMapRenderer : public QObject { Q_OBJECT @@ -32,9 +31,6 @@ public: mbgl::ThreadPool &, QMapboxGLSettings::GLContextMode); virtual ~QMapboxGLMapRenderer(); - // mbgl::Scheduler implementation. - void schedule(std::weak_ptr<mbgl::Mailbox> scheduled) final; - void render(); void updateFramebuffer(quint32 fbo, const mbgl::Size &size); void setObserver(std::shared_ptr<mbgl::RendererObserver>); @@ -56,8 +52,5 @@ private: QMapboxGLRendererBackend m_backend; std::unique_ptr<mbgl::Renderer> m_renderer; - std::mutex m_taskQueueMutex; - std::queue<std::weak_ptr<mbgl::Mailbox>> m_taskQueue; - - bool m_threadWithScheduler; + bool m_forceScheduler; }; |