aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/scenegraph/scenegraph.pri
diff options
context:
space:
mode:
authorGunnar Sletta <gunnar.sletta@digia.com>2013-04-16 17:25:04 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-04-24 17:14:41 +0200
commit73d8bcda7d1b4317f38d8a2844294601325915aa (patch)
tree6e54cecb3be42cf64e129fd6efce0a24cb83fc10 /src/quick/scenegraph/scenegraph.pri
parent9d6b4212b448686f415f3744969e5fb9769f4d98 (diff)
Renderloop for Windows
The normal GUI thread render loop has several problems on windows. It does not do vsync animations and on some hardware, where the vsync delta is higher than the time it takes to fire a 16ms timer, the eventloop will always contain at least one event and we never return to processing non-client area events, like resize. Also, threaded OpenGL seems rather unstable, so the threaded renderer is not a stable option. So we introduce a windows based renderloop. It is fully cross platform but written to make the most out of the limitations which exist. The overall goal is: - vsync animations when allowed by the system. We get this by using an animation driver and advancing in sync with rendering - Keep system load low and allow for NC processing. The maybeUpdate function will start a short timer which will let the renderloop idle for few ms, allowing the eventloop to pick up system events. (this is similar to what the threaded renderer also does, btw) Change-Id: Ic192fd0ed7d5ecdaa2c887c08cbeb42c5de6b8a8 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Diffstat (limited to 'src/quick/scenegraph/scenegraph.pri')
-rw-r--r--src/quick/scenegraph/scenegraph.pri16
1 files changed, 4 insertions, 12 deletions
diff --git a/src/quick/scenegraph/scenegraph.pri b/src/quick/scenegraph/scenegraph.pri
index 8c87e23ac9..c002a81451 100644
--- a/src/quick/scenegraph/scenegraph.pri
+++ b/src/quick/scenegraph/scenegraph.pri
@@ -51,7 +51,6 @@ SOURCES += \
$$PWD/util/qsgpainternode.cpp \
$$PWD/util/qsgdistancefieldutil.cpp
-
# QML / Adaptations API
HEADERS += \
$$PWD/qsgadaptationlayer_p.h \
@@ -67,8 +66,8 @@ HEADERS += \
$$PWD/qsgflashnode_p.h \
$$PWD/qsgshareddistancefieldglyphcache_p.h \
$$PWD/qsgrenderloop_p.h \
- $$PWD/qsgthreadedrenderloop_p.h
-
+ $$PWD/qsgthreadedrenderloop_p.h \
+ $$PWD/qsgwindowsrenderloop_p.h
SOURCES += \
$$PWD/qsgadaptationlayer.cpp \
@@ -84,12 +83,5 @@ SOURCES += \
$$PWD/qsgflashnode.cpp \
$$PWD/qsgshareddistancefieldglyphcache.cpp \
$$PWD/qsgrenderloop.cpp \
- $$PWD/qsgthreadedrenderloop.cpp
-
-
-
-
-
-
-
-
+ $$PWD/qsgthreadedrenderloop.cpp \
+ $$PWD/qsgwindowsrenderloop.cpp