summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Barron <jbarron@trolltech.com>2010-02-22 12:54:20 (GMT)
committerJason Barron <jbarron@trolltech.com>2010-02-23 10:35:43 (GMT)
commit925dac20184820222765385b391a78d776ee61bb (patch)
treef4c7a5a5a39b979ec75b9960ce551a36fdab47e3
parentbbb996e6cbe4a19ceb72650dd82a8b3cf60553db (diff)
downloadQt-925dac20184820222765385b391a78d776ee61bb.zip
Qt-925dac20184820222765385b391a78d776ee61bb.tar.gz
Qt-925dac20184820222765385b391a78d776ee61bb.tar.bz2
Enable window size caching on Symbian NGA variants.
Enabling this flag saves us the round-trip to WSERV whenever RWindow::Size() is called because the size is cached on the client side. This can improve performance because functions like eglSwapBuffers() call Size() to see if the window size has changed and without the cache this introduces an extra IPC call for every frame. Task-number: QT-2849 Reviewed-by: Iain
-rw-r--r--src/corelib/global/qglobal.h1
-rw-r--r--src/gui/kernel/qapplication_s60.cpp4
2 files changed, 5 insertions, 0 deletions
diff --git a/src/corelib/global/qglobal.h b/src/corelib/global/qglobal.h
index 4b1232d..04aac12 100644
--- a/src/corelib/global/qglobal.h
+++ b/src/corelib/global/qglobal.h
@@ -2413,6 +2413,7 @@ QT3_SUPPORT Q_CORE_EXPORT const char *qInstallPathSysconf();
//RWsPointerCursor is fixed, so don't use low performance sprites
#define Q_SYMBIAN_FIXED_POINTER_CURSORS
#define Q_SYMBIAN_HAS_EXTENDED_BITMAP_TYPE
+#define Q_SYMBIAN_WINDOW_SIZE_CACHE
//enabling new graphics resources
#define QT_SYMBIAN_SUPPORTS_SGIMAGE
#define QT_SYMBIAN_SUPPORTS_ADVANCED_POINTER
diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp
index bf3ad71..fdbbeb2 100644
--- a/src/gui/kernel/qapplication_s60.cpp
+++ b/src/gui/kernel/qapplication_s60.cpp
@@ -1146,6 +1146,10 @@ void qt_init(QApplicationPrivate * /* priv */, int)
#endif
S60->wsSession().SetAutoFlush(ETrue);
+#ifdef Q_SYMBIAN_WINDOW_SIZE_CACHE
+ TRAP_IGNORE(S60->wsSession().EnableWindowSizeCacheL());
+#endif
+
S60->updateScreenSize();