Inkscape is slow starting

Bug #488247 reported by Jorge on 2009-11-25
342
This bug affects 79 people
Affects Status Importance Assigned to Milestone
Inkscape
Medium
Unassigned
Gentoo Linux
Unknown
Medium
inkscape (Arch Linux)
New
Undecided
Unassigned
inkscape (Debian)
Fix Released
Unknown
inkscape (Mandriva)
Unknown
High
inkscape (Ubuntu)
Low
Unassigned

Bug Description

Hi,

Although Inkscape is a nice program, I recognize that it's becoming slower and
slower each time a new version is released.

Also I have compiled inkscape from subversion (Revision: 22608) in a Ubuntu 8.10 box.
(Intel Core 2 duo 1.8 GHz and 2 GB of RAM)

In the build I have disabled the -g option in all the Makefiles, but launching inkscape
takes more than 10 seconds!! And in its actions it demostrates that it has become slower.

Is any way to improve the performance of Inkscape (for example, using a separate thread to loading the
plugins, using a load of components by demand, using OpenGL+Shaders for drawings,...)

I have some knowledge of optimization in C/C++ but I know next to nothing how Inkscape has been
programmed.

Thanks guys for this great program.

mr. Ed (mred) wrote :

Possible solution: implementing a load dialog as gimp, so that the User not despair

Krzysztof Kosinski (tweenk) wrote :

How many fonts do you have installed on your system?

su_v (suv-lp) on 2009-11-25
tags: added: performance
Jorge (jorge-gascon-perez) wrote :

>> How many fonts do you have installed on your system?

Hi,

As seen, I have a lot of fonts installed, I estimate more than 300.
I agree with you, this could be the reason, the font loading.

But, two questions come into my mind:

1) Is it necessary to load all the fonts? In my drawings rarely I use more than one or two fonts.

    Could it be possible to load only the needed fonts, by demand? Only in the moment that they are needed?

    In think that in the font selection form, when you select a font, this could be the correct moment to
    load this font.

2) Another alternative could be the load of fonts by a background thread, executed in the launch of the application.
    I don't know if inkscape uses pthreads or SDL or another threads library, but something like:

                 thread * ft_thread = new thread( font_loading_method() );

    Could make inkscape a faster-launching application.

jazzynico (jazzynico) wrote :

Hi Jorge,

> Could it be possible to load only the needed fonts, by demand? Only in the moment that they are needed?

Font matrix can help you (http://fontmatrix.net/).

su_v (suv-lp) wrote :

other startup time & font loading related reports:
Bug #322113 “Inkscape startup splash screen”:
<https://bugs.launchpad.net/inkscape/+bug/322113>
Bug #418726 “Very long startup time with many fonts installed - no visual feedback”:
<https://bugs.launchpad.net/inkscape/+bug/418726>
Bug #430328 “Speedup startup when many many fonts installed”:
<https://bugs.launchpad.net/inkscape/+bug/430328>

jazzynico (jazzynico) on 2009-12-28
Changed in inkscape:
importance: Undecided → Medium
status: New → Confirmed
Alvin Penner (apenner) wrote :

this is a relatively recent deterioration. On Windows, I have seen my typical loading time for Inkscape go from 7 seconds to 22 seconds between July and November 2009, with no changes made on my computer, see:

http://old.nabble.com/performance-047-vs.-046-Mac-OS-X-10.4-ts27478458.html

Changed in inkscape (Mandriva):
status: Unknown → Confirmed
Changed in inkscape (Ubuntu):
status: New → Confirmed
Pedro Gauna (lapega) wrote :

In my case Inkscape takes a lot of time launching.
I don't have too much fonts (Ubuntu's default) and
my PC is normal - fast.
This problem starts when I start using inkscape 0.47,
version 0.46 opens very fast.

Ubuntu Lucid 10.04
Linux computos1 2.6.32-22-generic #33-Ubuntu SMP Wed Apr 28 13:27:30 UTC 2010 i686 GNU/Linux
inkscape 0.47.0-2ubuntu2

madworm (madworm-de-inkscape) wrote :

This issue has cropped up on openSUSE 11.3 as well.

I was running Inkscape 0.47 on 11.2 + texlive without any problems. Since 11.3 the standard texlive package seems to include virtually thousands of fonts (1700 on my system) that are visible to inkscape. After removing texlive inkscape starts in 5 seconds. As I need both latex and inkscape in a usable state, I started deleting these fonts manually while checking that my texfiles still compiled without font errors. Quite tedious...

BTW: all of the TeX fonts are also visible in the KDE font installer applet, but openoffice seems to ignore them. Maybe inkscape could be tweaked to ignore those fonts as well (via configuration options).

Two things slow down Inkscape while it's starting up:
1) it's building a list of fonts: using a font manager to reduce the number of fonts might help
2) it's rendering its own icons: improvements are planned

For more details see this thread:

http://www.listware.net/201007/inkscape-devel/79366-inkscape-devel-slow-to-start.html

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.

su_v (suv-lp) wrote :

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.

Then why did you mark font-related performance issue as duplicate of this one? The issue with fonts was intentionally kept separate because reports here (original report, #6, #7) mention a performance loss without relation to the number of installed fonts (0.46 -> 0.47, which hints towards other issues e.g. with the GUI and the scaling of the icons as mentioned in comment #9).

su_v (suv-lp) wrote :

…or did I fail to understand the relation? Like:
 'many fonts' and 'GUI' = slow starting
 'many fonts' or 'GUI' = no slowdown?

PeterPall (peterpall) wrote :

The only combination that is slow on my computer is
"many fonts (which basically means TeXlive is installed, but installing many X11 fonts instead makes it slow, as well)" *and* "starting up the inkscape gui" at the same time.
Using the inkscape as a filter (without starting up its GUI) is fast regardless of the number of fonts.
And starting up the GUI without many fonts installed is rather fast on my system, as well; the overall experience in this case can be increased a little bit further by setting "pre-render named icons" in the "misc" preference tab, though.

If I did mark the bug as a duplicate of the wrong report - please revert my setting of the "duplicate" attribute. Thanks in advance, in this case.

summary: - Inkscape 0.47 is slow starting
+ Inkscape is slow starting
Changed in inkscape (Ubuntu):
status: Confirmed → Triaged
importance: Undecided → Low
Changed in inkscape:
status: Confirmed → Triaged
Changed in inkscape (Mandriva):
status: Confirmed → Fix Released
Changed in inkscape (Mandriva):
status: Fix Released → Unknown
Changed in inkscape:
status: Triaged → Confirmed
Changed in inkscape:
status: Confirmed → Triaged

As of revision #9970, Inkscape starts blazingly fast again on my pc! So this solves the boot slowness problem which was introduced somewhere after the v0.47 release... but only for those who don't have thousands of fonts installed, because only the icon rendering has been improved

See http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/revision/9970

After a start, Inkscape does not respond, after a minute it works fine.

Reproducible: Sometimes

Steps to Reproduce:
1. Run inkscape
2.
3.

Actual Results:
Inkscape does not respond. And I see nothing in a terminal

Expected Results:
Works

Please paste the output of `emerge --info media-gfx/inkscape' in a comment. Looks suspiciously like a fontconfig issue, so maybe you should put your `eselect fontconfig list' in a comment too.

Download full text (6.5 KiB)

(In reply to comment #1)
> Please paste the output of `emerge --info media-gfx/inkscape' in a comment.
> Looks suspiciously like a fontconfig issue, so maybe you should put your
> `eselect fontconfig list' in a comment too.
>

#emerge --info media-gfx/inkscape
Portage 2.1.9.38 (default/linux/amd64/10.0/desktop, gcc-4.5.2, glibc-2.12.2-r0, 2.6.35-gentoo-r15 x86_64)
=================================================================
                        System Settings
=================================================================
System uname: Linux-2.6.35-gentoo-r15-x86_64-Intel-R-_Core-TM-2_CPU_T5500_@_1.66GHz-with-gentoo-2.0.1
Timestamp of tree: Tue, 08 Feb 2011 09:15:01 +0000
ccache version 3.1.4 [enabled]
app-shells/bash: 4.1_p9
dev-java/java-config: 2.1.11-r3
dev-lang/python: 2.6.6-r1
dev-util/ccache: 3.1.4
dev-util/cmake: 2.8.3-r1
sys-apps/baselayout: 2.0.1-r1
sys-apps/openrc: 0.7.0
sys-apps/sandbox: 2.4
sys-devel/autoconf: 2.68
sys-devel/automake: 1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils: 2.21
sys-devel/gcc: 4.5.2
sys-devel/gcc-config: 1.4.1
sys-devel/libtool: 2.4-r1
sys-devel/make: 3.82
virtual/os-headers: 2.6.35 (sys-kernel/linux-headers)
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -mtune=native -march=native -fomit-frame-pointer"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -pipe -mtune=native -march=native -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests binpkg-logs ccache distlocks fixlafiles fixpackages metadata-transfer news nodoc noinfo noman parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS=""
GENTOO_MIRRORS="http://trumpetti.atm.tut.fi/gentoo/ http://mirror2.corbina.ru/gentoo-distfiles/ http://mirror.yandex.ru/gentoo-distfiles/ "
LANG="ru_RU.utf8"
LC_ALL=""
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="en ru"
MAKEOPTS="-j1"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage/layman/rion /usr/local/portage/layman/lisp /usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="64bit X a52 aac acl acpi alsa amd64 aspell berkdb bluetooth branding bzip2 cairo cdr cleartype cli cracklib crypt cxx dbus dirac djvu dri dts dvd dvdr emacs emboss encode exif faac faad fam ffmpeg firefox flac fortran gdbm gdu gif gnutls gs iconv imagemagick int64 jbig jpeg jpeg2k lapack laptop latex lcdfilter lcms mad mercurial mikmod mmx mng modules mopac7 mp3 mp4 mpeg mpqc mudflap multilib ncurses network nls nptl nptlonly ogg openbabel opencore-amr opengl openmp p...

Read more...

Changed in inkscape (Mandriva):
importance: Unknown → High
Lepe (alepe-com) wrote :

I have 2000+ fonts and I can confirm that is taking too much time to start. Additionally it is consuming a lot of memory. This doesn't happen in, for example, gimp. Today while working in a drawing it exceed the memory limit (I have 2 GB) so the process was killed by the system (linux).

Lepe (alepe-com) wrote :

I checked several times and the memory seems to keep stable (so far)... maybe it was related to other application... please ignore my previous statement (about the memory).

Kirk Cooper (enoted) wrote :

I am running both the nightly build and v0.48.1 and the nightly build is a stand alone and it runs 30% faster than my installed version.
Although the installed edition struggles with layers even without effects.

As soon as you apply multiple effects and continue editing everything stops. I have noticed that effects are effected if you the applicated area with something else. Maybe is the area that has an effect becomes permenant then the sluggishness will stop.

Zak McKracken (zak-mckracken) wrote :

On my machine (Phenom X4, openSuSe 11.3) Inkscape 0.48.1 takes 55 seconds to start.
In the meantime, there's one thread at 100% processor load, and shortly before it finishes, I get this line in the console:

(inkscape:18386): Gtk-CRITICAL **: gtk_misc_set_alignment: assertion `GTK_IS_MISC (misc)' failed

over and over again, for several screen pages.
... after that all works fine.
This might be an unrelated problem, but it has been bugging me for a while, and it was not there when I started using inkscape.
I only installed five or so fonts in addition to the ones that came with the system, but I just looked it up and it seems I have ... 1971 different fonts installed (I think that's counting italic and bold as separate fonts, though)!
If systems come with such an amount of fonts, maybe there's a way to change Inkscape's way of dealing with them?

> If systems come with such an amount of fonts, maybe there's a way to change Inkscape's way of dealing with them?
Would be especially nice as I have until now never had to actually use
them in inkscape.

su_v (suv-lp) wrote :

@Zak McKracken - do you happen to have an older GTK+ version installed on openSuSe 11.3? The Gtk-critical warnings from Inskcape had been tracked in
Bug #576852 “(inkscape:1815): Gtk-CRITICAL **: gtk_misc_set_alignment: assertion `GTK_IS_MISC (misc)' failed on Start”
<https://bugs.launchpad.net/inkscape/+bug/576852>

They are limited to GTK+ < 2.22.0 and no longer occur with recent GTK+ versions. I doubt though that they cause the delay on startup - this is more related to fonts loading and preparing the GUI (rescaling the icons for the buttons for example - do you happen to use a custom gtk theme with special icons sizes?).

Zak McKracken (zak-mckracken) wrote :

@~suv :
Thanks for the info. I'm running GTK2 2.20.1-2.13
The only other version available from SUSE is 2.21.5-99, but that's from the factory repo, and those are sometimes risky. I currently cannot risk anything having anything unstable as I need my computer to function 24/7, so I'm postponing the update to a later date. But good to know a fix exists.

I'm not using any special GTK themes or icon sizes, at least I haven't knowingly done anything there. I just cycled through several of the available styles (QtCurve was set, I tried thinIce, Oxygen, Clearlooks), and it's all the same.

I think this is upstream already; I have the same problem. My workaround at the moment is simply to move my ~/.fonts somewhere else when I'm using Inkscape.

  https://bugs.launchpad.net/inkscape/+bug/488247

It's two years old and has six dupes, but is at least confirmed.

Changed in gentoo:
importance: Unknown → Medium
Changed in inkscape (Debian):
status: Unknown → Confirmed

Inkscape 0.48.2 r9819
Intel Atom N270 1,60 GHz 1 core\ 2 threads, 2 GB RAM
Graphics Intel 945 express chipset.
Microsoft Windows XP [Version 5.1.2600] Service pack 3.

Startup time 18 - 20 seconds! Ok, program started visually (window opened). But then for 30 seconds - 50% cpu usage (100% of one of the threads occupied) - that's the same as initial start. In total 50 seconds of significant slow-down. Opening of the second window simultaneously takes about 70% of CPU.

Good news - shuts down instantly :)

dogmatic69 (dogmatic69) wrote :

I have loads of fonts (4k +) in ~/fonts Intel Q660 8 gigs of ram

Startup is slow, around 1 or 2 minutes. Once started the app is fine, not sluggish or anything.

When clicking File -> new -> default a new window is opened instantly.

Having a file open and then opening another file via nautilus takes around 2 minutes again.

This does not happen with other apps such as LibreOffice, Gimp etc.

Ruslan (b7-10110111) wrote :

Inkscape 0.48.3.1 r9886, starting very slow. Here's sysprof profile of startup. Seems too much time is spent in prerender_icon().

Ruslan (b7-10110111) wrote :

Just tried profiling inkscape after main window has showed and maximized. It feels unresponsive about first 20 seconds, e.g. cursor position indicators in the rulers are jumpy instead of smoothly following the cursor.

That would make sense: if the program is run non-interactively or a new file is opened from the gui the program doesn't have to render icons and is quite fast.

Ruslan (b7-10110111) wrote :

Since the icons appear complex enough to take tens of seconds from startup I wonder why couldn't inkscape cache them to config dir on first start?

su_v (suv-lp) wrote :

> I wonder why couldn't inkscape cache them to config dir on first start?

Caching of icons on disk is already implemented in current trunk (will be available in the next major stable version 0.49).

PeterPall (peterpall) wrote :

Did try the trunk. Starts up in 2 instead of 30 seconds => will use the trunk for now.

Kris (kris-degussem) wrote :

So we could close this report and mark it as fix committed?

su_v (suv-lp) wrote :

> So we could close this report and mark it as fix committed?

IMHO no - the issue with fonts hasn't been resolved yet. Unfortunately, someone decided last year to merge the two distinct issues which we had tried to track in separate reports into one (by linking other reports as duplicates). I won't spend time to untangle this again.

PeterPall (peterpall) wrote :

Perhaps this bug can be set to "fix committed" anyway: I have loads of fonts installed. But loading a few hundred fonts seems to be much faster than pre-rendering all the icons.
If loading all the fonts is a bug - or a posible enhancement - we could open a separate issue for that, instead.

Agree with ~suv, the font issue still exists without any change (tested on Ubuntu 12.10).

Ari (ari-lp) wrote :

I can confirm that the font issue persists on Ubuntu 12.04.2 LTS. Renaming the ~./fonts directory before starting inkscape dramatically reduces startup time and startup CPU load.

Magnes (magnesus2) wrote :

In Ubuntu 12.10 Inkscape started to load very, very slowly (half a minute?) suddenly. I tried removing fonts but it didn't change anything. So it's not the fonts issue for me!

dogmatic69 (dogmatic69) wrote :

@Magnes run `strace inkscape` from terminal and you will find the issue.

ssn (stretter) wrote :

Huge problem here, since I have 13654 fonts installed. It need about 10 minutes to start on a core i5 machine with 8gb of ram on a SSD.

ssn (stretter) wrote :

inkscape 671,33s user 0,97s system 99% cpu 11:16,61 total

Same problem here :/

Magnes (magnesus2) wrote :

Such long load times make Inkscape unusable for work when you have a lot of files to look through or modify. There should be an option to fix it - and not by deleting fonts. For example Inkscape should load fonts in the background - and only show those that are already loaded.

Magnes (magnesus2) wrote :

PS. strace of course shows it's because of fonts.

Magnes (magnesus2) wrote :

PS.2. Years go by, many new version of Inkscape go by, yet no solution. :(

su_v (suv-lp) wrote :

Improved launch times (0.91) based on
- new icon cache on disk (John A. Cruz)(r9969)
- font loading speed-up (Liam P. White, Tavmjong Bah)(r13523, r13617)

Changed in inkscape:
milestone: none → 0.91
status: Triaged → Fix Committed
Ari (ari-lp) wrote :

I can confirm that the start-up time has been improved significantly with the latest patches. Kudos to everyone who contributed to these fixes!

Changed in inkscape:
status: Fix Committed → Fix Released
Giraldi Maggio (bedek78) wrote :

In my experience, at least, it takes much longer to start... Approximately and unacceptably ±3 minutes longer?!? Am I missing something?

Giraldi Maggio (bedek78) wrote :

...and that's after I updated to 0.91...

In , Njsg (njsg) wrote :

At least here the slow startup was fixed by upgrading inkscape to 0.91. But the bug is still present with amd64 inkscape.

Changed in inkscape (Ubuntu):
status: Triaged → Fix Released
Changed in inkscape (Debian):
status: Confirmed → Fix Released
Ignacio Salcedo (isalcedo) wrote :

In Archlinux X86_64 this bug persist. 0.91 is even more slower than 0.48. Like ~1 min to open and eventualy freezes in .png exportation and .pdf (and other extensions) save.

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

Other bug subscribers

Remote bug watches

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