qt5base-lts/src
Tor Arne Vestbø 2bc7a40048 Teach font database to populate families lazily
Instead of requiring that QPlatformFontDatabase::populateFontDatabase()
populates every single font in the system by calling registerFont(), we
now allow the platform database to call registerFontFamily() instead, and
then keep track of which families we've yet to fully populate in the font
database.

Once a property of a family is requested (such as its writing system,
style, etc), the family is lazily populated by calling back to the
platform database through QPlatformFontDatabase::populateFamily(),
which in turn does the final call to registerFont() as before.

This cuts application startup on OS X and iOS (of which the font population
used to be a major limiting factor) from roughly one second to about 350ms.

Task-number: QTBUG-37165
Change-Id: Ic2fc3447beb818ffe23635a5b7816ed7e70c93a7
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2014-03-20 19:01:53 +01:00
..
3rdparty Fix bundled HarfBuzz-NG build on Mac 2014-03-20 19:01:53 +01:00
android Android: Try to hide the sw keyboard on finishComposingText. 2014-03-20 19:01:53 +01:00
angle ANGLE D3D11: Fix internal index buffer for level 9 hardware 2014-03-20 13:59:33 +01:00
concurrent Doc: Add docs for QtConcurrent::{Unhandled,Exception} 2014-03-17 20:52:42 +01:00
corelib Logging: Remove PatternFlag::Invalid from QLoggingRule 2014-03-20 19:01:53 +01:00
dbus Doc: correction link, example and parameter issues qtbase 2014-03-10 16:02:19 +01:00
gui Teach font database to populate families lazily 2014-03-20 19:01:53 +01:00
network network: add support for NTLM Session Security 2014-03-20 19:01:53 +01:00
opengl Docs: Correct OpenGL ES naming 2014-03-20 14:11:38 +01:00
openglextensions Remove the header precompilation for QtXml and QtOpenGLExtensions 2014-03-04 04:36:00 +01:00
platformsupport Teach font database to populate families lazily 2014-03-20 19:01:53 +01:00
plugins Cocoa: Follow-up m_sendUpAsRightButton for DnD 2014-03-20 12:53:01 +01:00
printsupport QPrinter - Doc fix 2014-03-17 20:53:21 +01:00
sql Fix positional binding values order in QSqlQuery 2014-03-20 10:36:34 +01:00
testlib Warn if the time taken by QTest::qSleep() is more than 50% off 2014-03-17 16:27:55 +01:00
tools qdoc: Improve navigation bar for example files 2014-03-09 12:12:55 +01:00
widgets Respect scrollbar position setting on Mac 2014-03-20 19:01:53 +01:00
winmain WinRT: Add debug message handler for winrtrunner 2014-03-14 22:40:32 +01:00
xml Remove the header precompilation for QtXml and QtOpenGLExtensions 2014-03-04 04:36:00 +01:00
src.pro Disable QtOpenGL in dynamicgl builds 2014-03-14 22:40:15 +01:00