Added environment variable for enforcing the threaded renderer.
authorSamuel Rødal <samuel.rodal@nokia.com>
Thu, 3 May 2012 21:09:22 +0000 (23:09 +0200)
committerQt by Nokia <qt-info@nokia.com>
Tue, 8 May 2012 22:56:16 +0000 (00:56 +0200)
On a 120 Hz display for example, the threaded renderer makes the
animations go from rubber to velvet.

Change-Id: I28175b4a063dbf5d92ec128797e811c90891b3d5
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Donald Carr <donald.carr@nokia.com>
src/quick/items/qquickwindowmanager.cpp

index da1f91d..21ec695 100644 (file)
@@ -137,6 +137,7 @@ extern Q_GUI_EXPORT QImage qt_gl_read_framebuffer(const QSize &size, bool alpha_
 
 DEFINE_BOOL_CONFIG_OPTION(qmlFixedAnimationStep, QML_FIXED_ANIMATION_STEP);
 DEFINE_BOOL_CONFIG_OPTION(qmlNoThreadedRenderer, QML_BAD_GUI_RENDER_LOOP);
+DEFINE_BOOL_CONFIG_OPTION(qmlForceThreadedRenderer, QML_FORCE_THREADED_RENDERER); // Might trigger graphics driver threading bugs, use at own risk
 
 //#define THREAD_DEBUG
 
@@ -332,6 +333,8 @@ QQuickWindowManager *QQuickWindowManager::instance()
         bool fancy = QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::BufferQueueingOpenGL);
         if (qmlNoThreadedRenderer())
             fancy = false;
+        else if (qmlForceThreadedRenderer())
+            fancy = true;
 
         if (qmlFixedAnimationStep())
             QUnifiedTimer::instance(true)->setConsistentTiming(true);