Very long startup time with many fonts installed - no visual feedback

Bug #418726 reported by Lenz Grimmer
This bug report is a duplicate of:  Bug #488247: Inkscape is slow starting. Edit Remove
110
This bug affects 25 people
Affects Status Importance Assigned to Milestone
Inkscape
Confirmed
Medium
Unassigned

Bug Description

I have quite a large number of fonts installed on my system (more than 2000 TTF, ~3700 Type1 fonts), which cause a very long delay when starting Inkscape (~40 seconds on a Intel Core Duo System with 2.4 GHz and 4GB of RAM). Unfortunately there is no visual feedback at this point - it seems as if the application is hung or not started, which might cause GUI users to click on the application again (causing an even longer delay).

It would be nice if Inkscape could either cache font information somehow or at least provide some visual feedback about the ongoing font registration process (or whatever it is doing during these 40 seconds).

Thanks!

tags: removed: slow startup
Revision history for this message
Pablo Trabajos (pajarico) wrote :

Does any other app (like word, excel, illustrator, etc.) take as much time? Aside from what this test might tell us, a total of 5700 fonts is way past the limit of what is advisable. It will slow down any application that needs fonts, specially those that show a menu or list with them, and there is no real advantage on installing them since you're not going to use them all the time anyway. It's better to install a font manager and activate selectively fonts that you are going to use at that moment.

My impression is that this is a problem with the massive number of fonts. Is a problem on the operating system, not due to Inkscape.

Revision history for this message
Lenz Grimmer (lenzgr) wrote :

Thanks for the quick reply. I should have mentioned that I use Linux (openSUSE), FWIW. In any case, no other application (e.g. Gimp, OpenOffice, KDE applications) exhibit the same behaviour. One application that does take a while because of the amount of fonts is Scribus (a DTP application). However, it at least provides me with a progress dialogue in the splash screen that informs me about what's going on (that it is processing the font information) - Inkscape just sits there quietly without providing any visible feedback.

And you should leave it up to the user to decide if he needs that many fonts or not ;)

Revision history for this message
Lenz Grimmer (lenzgr) wrote :

Oh, and Scribus is only slow when the content of the Fonts directory was changed. It caches the font information - any subsequent startup is very fast.

Revision history for this message
Pablo Trabajos (pajarico) wrote :

> And you should leave it up to the user to decide if he needs that many fonts or not ;)
I was assuming you were using windows, where that many fonts installed is a really bad idea, and I don't think this is merely my opinion, as many other reports lead me to believe that Windows is not friendly with big font collections. I'm not sure about Linux/Xorg so might be completely different.
But even in your circumstances I would suggest you to use Fontmatrix (qt) for managing fonts. There is also Font Specimen (gtk). I tried Fontmatrix while I was using Linux and I liked quite a lot. It lets you manage your fonts in categories, activate collections of fonts with a single click, show information of fonts (type, author, encoding...), let's you compare fonts family, has a panose browser (used to search fonts by its looks, instead of by their names), package fonts used in a job for sending to a friend... and many many more features, it is really promising. Try it, I think it will help you.

Revision history for this message
Lenz Grimmer (lenzgr) wrote :

Hi Pablo, thanks for the suggestions. I am aware of FontMatrix - I actually use it already.
It too has no trouble with starting up quickly and provides me with a visual feedback when
it registers newly installed fonts in the splash screen.

But I don't want to argue with you about the usefulness of having so many fonts installed.

Let me try to rephrase my main points:

 - Inkscape takes an awful long time to start up, when many fonts are installed. Other
   apps cope much better with this. Is there a way to improve the font registration process,
   e.g. by using a caching mechanism?
 - The user does not get any visual feedback about Inkscape starting up until the main
   application window appears. Would it be possible to display a splash screen right
   after the program starts, that indicates that the application is starting up and still busy
   doing some stuff?

Thanks!

Revision history for this message
Pablo Trabajos (pajarico) wrote :

> But I don't want to argue with you about the usefulness of having so many fonts installed.
It was just an advice that might help reducing the starting time in the meanwhile. Of course, it doesn't imply that your point is automatically invalid. If you say that other apps don't take that long probably there is a problem somewhere inside Inkscape's code. The developers with knowledge on fonts will have to voice their opinions.
About Scribus: it does a check at startup discarding faulty fonts. Depending on the origin of your fonts some of them might be faulty. One idea is that Scribus might be aware of faulty fonts and avoids loading them completely while Inkscape might be oblivious to the quality of the fonts and tries to load them at any cost, maybe causing further problems down the road (a slowdown in your case). An interesting test would be to check if Scribus is listing all of the fonts you've installed. If some font is missing, that would mean it is broken. Try to uninstall it and start Inkscape to see if the startup time gets reduced.

About your second point: there is already a bug for a splash screen [2]. You may want to take the time to comment about it and draft a blueprint that explains in detail what information should be displayed and how. (Use the "Blueprint" section above).

Regards.

[1] http://wiki.scribus.net/index.php/What_is_the_difference_between_good_and_bad_fonts%3F
[2] https://bugs.launchpad.net/inkscape/+bug/322113

Revision history for this message
Guillermo Espertino (Gez) (gespertino-gmail) wrote :

Hmmm. I agree, this bug is a duplicate of 322113, because the main problem reported is the slow startup without visual feedback.
Anyway, something interesting was told about the fonts problem: other programs seem to store the font list in a cache.
The first time you run gimp it registers the fonts, and its startup is noticeably slower than the following ones.
A splash screen with visual feedback would be nice, but if one of the causes of our slow startups is the fonts list, it should be revised.

tags: added: performance
Revision history for this message
Pablo Trabajos (pajarico) wrote :

Similar bug in Linux (ubuntu) in bug #430328.

Revision history for this message
jazzynico (jazzynico) wrote :

Confirmed by 5 affected people (including 3 from duplicate report).

Changed in inkscape:
importance: Undecided → Medium
status: New → Confirmed
Revision history for this message
Duncan WIthers (duncan-ecoweb) wrote :

I can confirm the same slow startup in Fedora 12 (2.6.32.11-99.fc12.i686.PAE). Also scrolling through the fonts drop down list is so jerky as to be almost unusable.

Revision history for this message
Pablo Rodríguez (ousia) wrote :

With 405 fonts installed:

 $ time inkscape

 real 0m14.972s
 user 0m11.833s
 sys 0m0.192s

With 2148 fonts installed:

 $ time inkscape

 real 0m42.716s
 user 0m41.919s
 sys 0m0.140s

I got the number of installed fonts from "fc-list : file".

I hope it helps.

Revision history for this message
Vladimir Savic (vladimir-firefly-savic) wrote :

We really need font caching mechanism. I too have a problem with inkscape's startup speed. No other app from linux graphic "suite" exhibits similar behavior.

Revision history for this message
PeterPall (peterpall) wrote :

Interestingly enough if run as a filter without opening its gui (like inkscape --export-eps=something.eps filename.svg) inkscape seems to be still as fast as it used to be.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.