Hi. I'm using Inkscape to author a comic and the slow speed for certain
things is very annoying. I'm already have OpenMP turned on and using 4
1. *large blurs are slow* - I'm an expert with writing SIMD code, so I was
thinking about vectorizing the Gaussian IIR filter with SIMD intrinsics,
even though it's harder than for a FIR. But I noticed there isn't any SIMD
code in Inkscape so does that mean it's something to avoid.
I'm pretty sure no current compiler is smart enough to vectorize it, and
besides, Inkscape is compiled with -O2, meaning -ftree-vectorize isn't on
2. *when there's a large image (raster based) background - scrolling in a
zoomed region is very slow*
I compiled the latest 0.49 code with GCC profiling and it shows this:
33.98 22.47 22.47 exp2l
21.29 36.55 14.08 log2l
17.57 48.17 11.62 pow
7.12 52.88 4.71 658 0.01 0.01
6.72 57.32 4.44 563 0.01 0.01
5.51 60.96 3.64 1216 0.00 0.00
5.23 64.42 3.46 internal_modf
0.59 64.81 0.39 _mcount_private
0.41 65.08 0.27 __fentry__
0.12 65.16 0.08 GC_mark_from
0.09 65.22 0.06 5579 0.00 0.00
Geom::parse_svg_path(char const*, Geom::SVGPathSink&)
0.06 65.26 0.04 35320 0.00 0.00
std::allocator<Geom::Path> > const&, Geom::Affine const&)
0.06 65.30 0.04 8 0.01 0.01
0.05 65.33 0.03 885444 0.00 0.00
std::vector<Geom::Linear, std::allocator<Geom::Linear> > >, unsigned long
long, Geom::Linear const&)
The cost is absolutely dominated by ink_cairo_surface_srgb_to_linear() and
ink_cairo_surface_linear_to_srgb(). My first instinct was to optimize
those 2 functions, but then I thought why are those even being called every
time I scroll through the image?
Why not convert the images up front to linear and stay that way in memory?
If that can't be done, then my optimization approach is:
1. replace ink_cairo_surface_srgb_to_linear() with a simple 3rd degree
polynomial approximation (0.902590573087882 - 0.010238759806148x +
0.002825455367280x^2 + 0.000004414767235x^3) and vectorize with SSE
intrinsics. The approximation was calculated by minimizing the square error
(maxError = 0.313) over the range [10, 255]. For x < 10, it uses simple
2. replace ink_surface_linear_to_srgb() with a vectorized implementation
of pow(). Unlike srgb_to_linear(), a low degree polynomial can't be used
due to the curve having larger high order derivatives. An alternative would
be piece wise, low order polynomials.
The main question I have is what degree of accuracy is desired? Certainly,
it doesn't need double precision pow() since the input is only 8 bits! Is
+- 0.5 from the true value (before quantization) OK or do people depend on
getting pixel perfect results?
I initially asked at
was told to better post my request to this mailing list.
I wonder if it wouldn't be possible to create releases more regularly.
Currently there are many months or even years between each release of
Bug fixes should get out more quickly and it should be possible to try out
new features of upcoming versions. Most users don't have the possibility to
build Inkscape by their own, so they have to wait for the next release.
Unfortunately the provided development downloads are not synchronized,
hosted on different third-party web sites and out of date (currently
especially the Windows version).
So I suggest to create a (more or less) fixed fast release cycle for normal
releases (e.g. every two or three months) and periodically (e.g. every one
or two weeks) create alpha versions.
Alpha versions should be built (maybe even automatically) for all supported
OSes and hosted directly on inkscape.org.
In the past several months - closer to a year, actually - I've used Inkscape
in a tight production environment almost daily. I have produced hundreds
of illustrations for a computer-based technical course. During that period
I used Inkscape 0.48.5 and lately switched to test builds and release
candidates of 0.91. All of this time I have kept a list of the problems I ran
into using Inkscape. Some are plain bugs, some are more complex problems for
which I have no idea for a solution. After testing the new version to see
whether some of these problems have gone away, I thought I might share this
document with you.
Before I go on, I just like to say that these are mostly minor points. I am
an avid user and promoter of Inkscape even though my workplace has provided
me with a legal copy of Adobe Illustrator, which I think is inferior in
ease of use. I think Inkscape on the whole is a brilliant piece of software
and I'm thankful for all your efforts. But some problem just kept popping up
again and again.
So without further ado, here's the document (it's a google doc):
Thank you for any comment or feedback you might have.
- Michael Grosberg
I tried your modified build with an NVidia Quadro 1000M on Windows 7 and it
seemed okay to me.
> Le Jeudi 21 novembre 2013 9h09, Nicolas Dufour <nicoduf@...48...> a ?crit
> > I'm still investigating the issue, and just found out that the computers
> > used to reproduced the bug were all using an Intel GPU. Tests with an
> > GeForce 210 (GT218) show no slowness at all.
> Could some Windows users help me? I'd like to confirm the slowness only
> affects Intel graphics cards. Could you test a modified Inkscape binary
> (from ftp://download.tuxfamily.org/inkscape/inkscape-12282-cairo-22.214.171.124z),
> give your graphic card model and tell me if it's slow or not? IMHO it could
> be a blocker for 0.49 on Windows.
Hey Inkscape developers, I’ve spent the last several years both using Inkscape and working with C++, and I’d really like to contribute to the project now that I have some relevant skills. I develop on macs though, and I can’t seem to find any up-to-date instructions on building for mac. Can anyone point me to some current info?
Thanks for the help, and thanks for everything you guys do.
Hi Axel, David and others,
There is no issue or problem as far as translations are concerned. We already have the translations done for all Indic languages and these are also attached in the Bugs (https://bugs.launchpad.net/~cpdhutadmal ).
If this can be taken ahead, Indic language users will be very happy.
Regards,Chandrakant Dhutadmal.Pune, India.
On Friday, February 13, 2015 9:33 AM, Alex Mandel <tech_dev@...3215...> wrote:
On 02/11/2015 10:44 PM, chandrakant dhutadmal wrote:
> Hi All.
> We have submitted requests for bringing out localized Inkscape for Indian languages through various bugs filed. List of all such bugs filed can be looked at https://bugs.launchpad.net/~cpdhutadmal.
> We have also submitted translations for those languages. Would like to know from the community if we have considered making builds for Indic languages. If so, when are we going to do it. If not, can we have a discussions surrounding the topic ?
> RegardsChandrakant DhutadmalPune, India.
I suspect what is missing is volunteers to do the translation. How to
contribute a translation is outlined on this web page
I just noticed the new "Do Geometric constructions" tool in the inkscape
trunk, and this got me thinking a few things about this new tool (and
inkscape usability and UX in general).
First up, this tool provides (among other things) two new ways to create
a circle: "a circle by three points", and a "circle by center and
radius". These are pretty neat additions, but my first question when I
saw this was why is this in a completely separate tool, not as a
sub-tool of the circle tool. I understand these are implemented as LPEs,
but from a user point of view, if you want to create a circle, wouldn't
you expect these options in the circle tool? If they were in the circle
tool, there might even be the option to create a circle with the
traditional mode of the circle tool, then fine-tune it with one of the
other two "editing" modes, rather than it appear to the user to be three
completely separate object types that can't be converted back and forth.
Something similar is also in play with the (present in 0.91 "shape"
option of the pen tool) the "shape" option only works when creating a
new line with the pen tool, while other tools (such as the star/polygon
tool) allow changes in the tools control bar to impact the currently
I know this is kind of out of the blue, but i have been thinking a lot
lately about some of the inconsistencies like this in the inkscape
interface, and would love to try to help contribute to fixes / be
involved with helping with the usability of new tools we create. Has
there ever been anyone involved with doing usablity reviews / testing of
this sort? (doctormon, i know you did some last year :) ) I know of
plenty of UX people that use Inkscape that would probably be keen in
contributing in this area.
ref : https://bugs.launchpad.net/inkscape/+bug/165665
I believe this bug can be fixed by disabling the flag USE_PANGO_WIN32 in
line 19 of src/libnrtype/FontFactory.h. When I do this on Windows XP, I gain
about 35 new fonts. Not all of these new fonts are useable, but the most
interesting ones, such as CommercialPi, Symbol, Technic, Webdings,
Wingdings, MonoType Sorts, TechnicLite are working well, both in Inkscape
and in IE9.
This is a Windows-specific bug which hides symbol fonts, and does not
occur in Gimp 2.6 on Win XP. As far as I can tell, the Gimp source code does
not contain any analogue or equivalent of the flag USE_PANGO_WIN32.
Would there be any objection if I disable this flag, or does it serve a
specific purpose that is essential?
- Alvin Penner
View this message in context: http://old.nabble.com/non-Unicode-symbol-fonts-do-not-work-on-Windows.-Bu...
Sent from the Inkscape - Dev mailing list archive at Nabble.com.
as we are now on the road to the release I want to focus to more advanced
The goal is to have a press ready output. With more detailed font, colour
and page handling.
As I understand our cairo renderer can output pdf but will never achieve
this goal bcs cairo is simply not made for this. (Colour handling). So this
task will end up with code taken from scribus or gegl or something.
as starting point for reviewing the features I collected screenshots from
scribus and corel export dialogues here
However the converter will look like the export dialogue should be kept
simple for regular users and more detailled for the experts. ....
If we can share some force into this topic over the next period would be
Also did we talk about "save vs export vs save copy as"?
I would see Inkscape "open and save" svg only and the other formats just
"import and export".