Go to file
Eskil Abrahamsen Blomfeldt 49926bb9ef Fix performance regression when changing fonts
Change e109b8a0f3 introduced a
performance regression when rapidly switching fonts as long as
the number of different fonts is over a relatively small number, since
the cost of fonts can be high compared to the limits set on the cache.

Since the original patch was intended to avoid exceeding the
open file limit when using Freetype on Windows, we add an
additional check on the number of engines in the cache as well
for the added, synchronous cache flush.

The limit is set to 256 to make it unlikely that it is exceeded
during a single paint event, but it can also be configured when
building Qt if a higher limit is needed.

[ChangeLog][QtGui][Text] Fixed performance regression when rapidly
switching between a large set of fonts.

Task-number: QTBUG-54180
Change-Id: I92b9fbe14fca4f11c9c6dfdcdbec6d19a61b86a7
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2016-07-22 12:14:03 +00:00
bin Fix syncqt.pl not respecting #pragma qt_no_master_include in files with Windows line endings 2016-02-25 16:25:37 +00:00
config.tests Improve SQLite3 configuration test 2016-06-28 14:36:01 +00:00
dist Add changelog for 5.6.1 2016-05-23 18:31:29 +00:00
doc Doc: Add a thumbnail for an example that has no UI 2016-07-20 08:07:32 +00:00
examples PathStrokeRenderer::initializePoints(): use float division 2016-07-15 11:35:12 +00:00
lib Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
mkspecs configure and mkspecs: Don't try to find xcrun with xcrun 2016-07-21 15:36:33 +00:00
qmake terminate when command called by system() got SIGINT or SIGQUIT 2016-07-21 15:36:20 +00:00
src Fix performance regression when changing fonts 2016-07-22 12:14:03 +00:00
tests Fix QTemporaryDir to handle Unicode characters on Windows 2016-07-20 07:31:18 +00:00
tools Fix URL to ANGLE 2016-06-30 07:06:39 +00:00
util Don't use QStringLiteral in comparisons 2016-01-28 18:00:47 +00:00
.gitattributes Update the git-archive export options 2012-09-07 15:39:31 +02:00
.gitignore Ignore more build artifacts from in-source builds. 2016-06-16 07:06:37 +00:00
.qmake.conf Bump version 2016-05-23 18:28:33 +00:00
.tag Update the git-archive export options 2012-09-07 15:39:31 +02:00
configure configure and mkspecs: Don't try to find xcrun with xcrun 2016-07-21 15:36:33 +00:00
configure.bat Move the official Qt version from qglobal.h to .qmake.conf 2015-10-14 20:12:57 +00:00
header.BSD Updated BSD licensed file headers 2015-02-15 07:41:17 +00:00
header.COMM Add header template for commercial only modules 2015-10-19 10:37:18 +00:00
header.FDL Update copyright headers 2015-02-11 06:49:51 +00:00
header.LGPL3 Update copyright headers 2015-02-11 06:49:51 +00:00
header.LGPL3-COMM Update copyright headers 2015-02-11 06:49:51 +00:00
header.LGPL21 Update copyright headers 2015-02-11 06:49:51 +00:00
header.LGPL-ONLY Update copyright headers 2015-02-11 06:49:51 +00:00
INSTALL Doc: Update links in INSTALL file 2015-02-16 09:06:41 +00:00
LGPL_EXCEPTION.txt Update copyright headers 2015-02-11 06:49:51 +00:00
LICENSE.FDL Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
LICENSE.GPLv3 Expand license scope from "Qt GUI Toolkit" to "Qt Toolkit" 2016-06-15 07:02:32 +00:00
LICENSE.LGPLv3 Expand license scope from "Qt GUI Toolkit" to "Qt Toolkit" 2016-06-15 07:02:32 +00:00
LICENSE.LGPLv21 Expand license scope from "Qt GUI Toolkit" to "Qt Toolkit" 2016-06-15 07:02:32 +00:00
LICENSE.PREVIEW.COMMERCIAL Update copyright headers 2015-02-11 06:49:51 +00:00
qtbase.pro Install fixqt4headers.pl script 2015-11-14 12:46:50 +00:00
sync.profile make a proper header-only module for QtZlib 2015-11-17 20:22:17 +00:00