qt5base-lts/src/gui
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
..
accessible Merge remote-tracking branch 'origin/stable' into dev 2014-02-07 13:07:25 +01:00
animation Update copyright year in Digia's license headers 2013-01-18 09:07:35 +01:00
doc Fix a probably copy/paste issue from drawImage in the drawPixmap snippet 2014-03-14 22:40:40 +01:00
image AVX image code was removed 2014-03-17 23:00:50 +01:00
itemmodels Doc: Adding mark-up to boolean default values. 2013-10-08 00:46:27 +02:00
kernel Return false on context creation failure 2014-03-20 10:36:34 +01:00
math3d Revert some previously added constexpr in QVector?d classes 2014-03-10 16:04:28 +01:00
opengl Docs: Correct OpenGL ES naming 2014-03-20 14:11:38 +01:00
painting Avoid QImage copy in toTexture() 2014-03-20 10:36:34 +01:00
text Teach font database to populate families lazily 2014-03-20 19:01:53 +01:00
util Don't ignore horizontal alignment for items with baseline alignments 2014-02-14 10:51:44 +01:00
gui.pro Add optimize_full qmake config option 2014-03-06 12:21:14 +01:00
Qt5GuiConfigExtras.cmake.in Try to find GL headers in Mac SDKs. 2013-11-15 20:24:59 +01:00
QtGui.dynlist Add dynlist file for QtGui 2013-03-18 17:11:04 +01:00