fontconfig initialization spends most of its time parsing XML configuration files in /etc/fonts/conf.d/
Bug #1590804 reported by
Florian Boucault
This bug affects 2 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Canonical System Image |
In Progress
|
Low
|
kevin gunn | ||
fontconfig (Ubuntu) |
Confirmed
|
Medium
|
Unassigned | ||
qtbase-opensource-src (Ubuntu) |
Invalid
|
Undecided
|
Alberto Aguirre |
Bug Description
While profiling the startup of QML apps on the BQ E4.5 phone (armhf) I noticed that a significant amount of time (around 35ms) was spent solely on parsing the XML configuration files in /etc/fonts/conf.d/
There seems to be around 40 files on Ubuntu Phone in that directory.
tags: | added: performance |
Changed in canonical-devices-system-image: | |
assignee: | nobody → kevin gunn (kgunn72) |
milestone: | none → backlog |
importance: | Undecided → High |
Changed in canonical-devices-system-image: | |
status: | New → In Progress |
milestone: | backlog → 13 |
Changed in qtbase-opensource-src (Ubuntu): | |
assignee: | nobody → Alberto Aguirre (albaguirre) |
Changed in canonical-devices-system-image: | |
importance: | High → Low |
Changed in canonical-devices-system-image: | |
milestone: | 13 → backlog |
Changed in fontconfig (Ubuntu): | |
importance: | Undecided → Medium |
To post a comment you must log in.
For information, output of strace related to that:
open("/ etc/fonts/ conf.d/ 10-antialias. conf", O_RDONLY| O_LARGEFILE| O_CLOEXEC) = 25 etc/fonts/ conf.d/ 10-hinting- slight. conf", O_RDONLY| O_LARGEFILE| O_CLOEXEC) = 25 etc/fonts/ conf.d/ 10-hinting. conf", O_RDONLY| O_LARGEFILE| O_CLOEXEC) = 25 etc/fonts/ conf.d/ 10-scale- bitmap- fonts.conf" , O_RDONLY| O_LARGEFILE| O_CLOEXEC) = 25 etc/fonts/ conf.d/ 11-lcdfilter- default. conf", O_RDONLY| O_LARGEFILE| O_CLOEXEC) = 25 etc/fonts/ conf.d/ 20-unhint- small-dejavu- lgc-sans- mono.conf" , O_RDONLY| O_LARGEFILE| O_CLOEXEC) = 25 etc/fonts/ conf.d/ 20-unhint- small-dejavu- lgc-sans. conf", O_RDONLY| O_LARGEFILE| O_CLOEXEC) = 25 etc/fonts/ conf.d/ 20-unhint- small-dejavu- lgc-serif. conf", O_RDONLY| O_LARGEFILE| O_CLOEXEC) = 25 etc/fonts/ conf.d/ 20-unhint- small-dejavu- sans-mono. conf", O_RDONLY| O_LARGEFILE| O_CLOEXEC) = 25 etc/fonts/ conf.d/ 20-unhint- small-dejavu- sans.conf" , O_RDONLY| O_LARGEFILE| O_CLOEXEC) = 25 etc/fonts/ conf.d/ 20-unhint- small-dejavu- serif.conf" , O_RDONLY| O_LARGEFILE| O_CLOEXEC) = 25 etc/fonts/ conf.d/ 20-unhint- small-vera. conf", O_RDONLY| O_LARGEFILE| O_CLOEXEC) = 25 etc/fonts/ conf.d/ 30-metric- aliases. conf", O_RDONLY| O_LARGEFILE| O_CLOEXEC) = 25 etc/fonts/ conf.d/ 30-urw- aliases. conf", O_RDONLY| O_LARGEFILE| O_CLOEXEC) = 25 etc/fonts/ conf.d/ 40-nonlatin. conf", O_RDONLY| O_LARGEFILE| O_CLOEXEC) = 25 etc/fonts/ conf.d/ 45-latin. conf", O_RDONLY| O_LARGEFILE| O_CLOEXEC) = 25 etc/fonts/ conf.d/ 49-sansserif. conf", O_RDONLY| O_LARGEFILE| O_CLOEXEC) = 25 etc/fonts/ conf.d/ 50-user. conf", O_RDONLY| O_LARGEFILE| O_CLOEXEC) = 25 etc/fonts/ conf.d/ 51-local. conf", O_RDONLY| O_LARGEFILE| O_CLOEXEC) = 25 etc/fonts/ local.conf" , O_RDONLY| O_LARGEFILE| O_CLOEXEC) = 26 etc/fonts/ conf.d/ 57-dejavu- sans-mono. conf", O_RDONLY| O_LARGEFILE| O_CLOEXEC) = 25 etc/fonts/ conf.d/ 57-dejavu- sans.conf" , O_RDONLY| O_LARGEFILE| O_CLOEXEC) = 25 etc/fonts/ conf.d/ 57-dejavu- serif.conf" , O_RDONLY| O_LARGEFILE| O_CLOEXEC) = 25 etc/fonts/ conf.d/ 58-dejavu- lgc-sans- mono.conf" , O_RDONLY| O_LARGEFILE| O_CLOEXEC) = 25 etc/fonts/ conf.d/ 58-dejavu- lgc-sans. conf", O_RDONLY| O_LARGEFILE| O_CLOEXEC) = 25 etc/fonts/ conf.d/ 58-dejavu- lgc-serif. conf", O_RDONLY| O_LARGEFILE| O_CLOEXEC) = 25 etc/fonts/ conf.d/ 60-latin. conf", O_RDONLY| O_LARGEFILE| O_CLOEXEC) = 25 etc/fonts/ conf.d/ 64-01-tlwg- kinnari. conf", O_RDONLY| O_LARGEFILE| O_CLOEXEC) = 25 etc/fonts/ conf.d/ 65-droid- sans-fallback. conf", O_RDONLY| O_LARGEFILE| O_CLOEXEC) = 25 etc/fonts/ conf.d/ 65-fonts- persian. conf", O_RDONLY| O_LARGEFILE| O_CLOEXEC) = 25 etc/fonts/ conf.d/ 65-fonts- takao-pgothic. conf", O_RDONLY| O_LARGEFILE| O_CLOEXEC) = 25 etc/fonts/ conf.d/ 65-nonlatin. conf", O_RDONLY| O_LARGEFILE| O_CLOEXEC) = 25 etc/fonts/ conf.d/ 65-wqy- microhei. conf", O_RDONLY| O_LARGEFILE| O_CLOEXEC) = 25 etc/fonts/ conf.d/ 66-lohit- devanagari. conf", O_RDONLY| O_LARGEFILE| O_CLOEXEC) = 25 etc/fonts/ conf.d/ 66-lohit- punjabi. conf", O_RDONLY| O_LARGEFILE| O_CLOEXEC) = 25 etc/fonts/ conf.d/ 69-unifont. conf", O_RDONLY| O_LARGEFILE| O_CLOEXEC) = 25 etc/fonts/ conf.d/ 70-no-bitmaps. ...
open("/
open("/
open("/
open("/
open("/
open("/
open("/
open("/
open("/
open("/
open("/
open("/
open("/
open("/
open("/
open("/
open("/
open("/
open("/
open("/
open("/
open("/
open("/
open("/
open("/
open("/
open("/
open("/
open("/
open("/
open("/
open("/
open("/
open("/
open("/
open("/