
I've modified Inkscape to render at a slightly higher quality by avoiding repeated normalizations in libnr/nr-compose.cpp. I've uploaded examples of the results to:
http://home.hccnet.nl/th.v.d.gronde/about-test-old.png http://home.hccnet.nl/th.v.d.gronde/about-test-new.png http://home.hccnet.nl/th.v.d.gronde/gradient-test-old.png http://home.hccnet.nl/th.v.d.gronde/gradient-test-new.png
The first two are the current "about" drawing, exported to bitmap using Inkscape 0.44 (old) and reasonably current SVN+changes to compositing (new). The second two just show the gradient in background of the "about" drawing, which shows the "problem" with current version of Inkscape more clearly (if you have a hard time spotting the difference, look for a dark band in the upper left corner in the old image, it shouldn't be there, and it isn't in the new image).
Is this considered as interesting (if so, I'll try to clean up the patch and submit it to the patch tracker for review?), or will this become obsolete very quickly?

Jasper van de Gronde wrote:
I've modified Inkscape to render at a slightly higher quality by avoiding repeated normalizations in libnr/nr-compose.cpp. I've uploaded examples of the results to:
http://home.hccnet.nl/th.v.d.gronde/about-test-old.png http://home.hccnet.nl/th.v.d.gronde/about-test-new.png http://home.hccnet.nl/th.v.d.gronde/gradient-test-old.png http://home.hccnet.nl/th.v.d.gronde/gradient-test-new.png
The first two are the current "about" drawing, exported to bitmap using Inkscape 0.44 (old) and reasonably current SVN+changes to compositing (new). The second two just show the gradient in background of the "about" drawing, which shows the "problem" with current version of Inkscape more clearly (if you have a hard time spotting the difference, look for a dark band in the upper left corner in the old image, it shouldn't be there, and it isn't in the new image).
Is this considered as interesting (if so, I'll try to clean up the patch and submit it to the patch tracker for review?), or will this become obsolete very quickly?
I can't answer the last question, but surely there is a visible difference in gradient smoothness. I would encourage you to file a patch (without having seen the code changes behing this, though).
- Spyros Blanas

On Tue, Jul 11, 2006 at 07:17:51PM +0200, Jasper van de Gronde wrote:
I've modified Inkscape to render at a slightly higher quality by avoiding repeated normalizations in libnr/nr-compose.cpp. I've uploaded examples of the results to:
http://home.hccnet.nl/th.v.d.gronde/about-test-old.png http://home.hccnet.nl/th.v.d.gronde/about-test-new.png http://home.hccnet.nl/th.v.d.gronde/gradient-test-old.png http://home.hccnet.nl/th.v.d.gronde/gradient-test-new.png
The first two are the current "about" drawing, exported to bitmap using Inkscape 0.44 (old) and reasonably current SVN+changes to compositing (new). The second two just show the gradient in background of the "about" drawing, which shows the "problem" with current version of Inkscape more clearly (if you have a hard time spotting the difference, look for a dark band in the upper left corner in the old image, it shouldn't be there, and it isn't in the new image).
Wow, took me a minute to see the banding, but you're right, now that you pointed it out, it's quite noticeable.
Is this considered as interesting (if so, I'll try to clean up the patch and submit it to the patch tracker for review?), or will this become obsolete very quickly?
Yes, submit it to the bug tracker for review and incorporation. (Include the example before/after images too.)
Thanks, Bryce

Jasper van de Gronde wrote:
Bryce Harrington wrote:
Yes, submit it to the bug tracker for review and incorporation. (Include the example before/after images too.)
Submitted, request id 1520844.
I tested it and you earned the best friend of the week spot for next week (sorry, Gnucash guys earned it this week ;)). I'm not knowledgeable enough to really review the code, but in testing it I can say that I immediately noticed improvements in all of my drawings that I tested. The best part? The fix took care of one of my biggest "quality" issues with Inkscape... the mysterious banding. :) THANK YOU!
-Josh

Jasper van de Gronde wrote:
I've modified Inkscape to render at a slightly higher quality by avoiding repeated normalizations in libnr/nr-compose.cpp. I've uploaded examples of the results to:
http://home.hccnet.nl/th.v.d.gronde/about-test-old.png http://home.hccnet.nl/th.v.d.gronde/about-test-new.png http://home.hccnet.nl/th.v.d.gronde/gradient-test-old.png http://home.hccnet.nl/th.v.d.gronde/gradient-test-new.png
Very interesting...
The first two are the current "about" drawing, exported to bitmap using Inkscape 0.44 (old) and reasonably current SVN+changes to compositing (new). The second two just show the gradient in background of the "about" drawing, which shows the "problem" with current version of Inkscape more clearly (if you have a hard time spotting the difference, look for a dark band in the upper left corner in the old image, it shouldn't be there, and it isn't in the new image).
Nice! This is the banding issue I've been complaining about for a long time. And I can see banding throughout the whole image... ;)
Is this considered as interesting (if so, I'll try to clean up the patch and submit it to the patch tracker for review?), or will this become obsolete very quickly?
No plans to ditch our current renderer yet... so please do submit a patch. You very well may earn the highly coveted best friend of the week status with me. ;)
-Josh

HURRAY!!!! now inkscape has one of the best renderings around!!!!!
----- Original Message ----- From: "Joshua A. Andler" <joshua@...533...> To: "Jasper van de Gronde" <th.v.d.gronde@...528...> Cc: "inkscape" inkscape-devel@lists.sourceforge.net Sent: Tuesday, July 11, 2006 8:12 PM Subject: Re: [Inkscape-devel] Improved rendering quality
Jasper van de Gronde wrote:
I've modified Inkscape to render at a slightly higher quality by avoiding repeated normalizations in libnr/nr-compose.cpp. I've uploaded examples of the results to:
http://home.hccnet.nl/th.v.d.gronde/about-test-old.png http://home.hccnet.nl/th.v.d.gronde/about-test-new.png http://home.hccnet.nl/th.v.d.gronde/gradient-test-old.png http://home.hccnet.nl/th.v.d.gronde/gradient-test-new.png
Very interesting...
The first two are the current "about" drawing, exported to bitmap using Inkscape 0.44 (old) and reasonably current SVN+changes to compositing (new). The second two just show the gradient in background of the "about" drawing, which shows the "problem" with current version of Inkscape more clearly (if you have a hard time spotting the difference, look for a dark band in the upper left corner in the old image, it shouldn't be there, and it isn't in the new image).
Nice! This is the banding issue I've been complaining about for a long time. And I can see banding throughout the whole image... ;)
Is this considered as interesting (if so, I'll try to clean up the patch and submit it to the patch tracker for review?), or will this become obsolete very quickly?
No plans to ditch our current renderer yet... so please do submit a patch. You very well may earn the highly coveted best friend of the week status with me. ;)
-Josh
Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&da... _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel

Jasper,
With your patch, gradient rendering indeed seems to be better. But it's also much slower. Create a file with 1600 semi-transparent overlapping circular gradients using clone tiler, then run:
time inkscape file.svg
and press Ctrl+Q while it's being rendered (try to press it at the same moment each time). On exit, time will show you the time spent for the run, including both loading time and rendering time. Without your patch, it takes on average 28.6 seconds on my system; with your patch, 42 seconds. I think the difference is too big for the patch to be acceptable as is.
I think it's fixable, however. I didn't look into your patch in detail, but it doesn't seem to introduce any new math, just rearranging what we've been doing before. So perhaps by tweaking it, removing nested calls (as e.g. in NR_COMPOSENPP_1111 which has two layers of nesting!) you will be able to speed it up significantly without compromising quality.
So I would like to encourage you to work further on your patch, which is will be very welcome if it can be made as fast as the current code (or maybe even faster, who knows).
Thanks!

bulia byak wrote:
Jasper,
With your patch, gradient rendering indeed seems to be better. But it's also much slower. Create a file with 1600 semi-transparent overlapping circular gradients using clone tiler, then run:
time inkscape file.svg
and press Ctrl+Q while it's being rendered (try to press it at the same moment each time). On exit, time will show you the time spent for the run, including both loading time and rendering time. Without your patch, it takes on average 28.6 seconds on my system; with your patch, 42 seconds. I think the difference is too big for the patch to be acceptable as is.
I was wondering how I could time it, I'll try that.
I think it's fixable, however. I didn't look into your patch in detail, but it doesn't seem to introduce any new math, just rearranging what we've been doing before. So perhaps by tweaking it, removing nested calls (as e.g. in NR_COMPOSENPP_1111 which has two layers of nesting!) you will be able to speed it up significantly without compromising quality.
Should indeed be fixable, in fact, I think it should possibly even be slightly faster due to less divides (on the other hand the divides and multiplies it does do could be slower).
So I would like to encourage you to work further on your patch, which is will be very welcome if it can be made as fast as the current code (or maybe even faster, who knows).
I'll definitely look into it.

bulia byak wrote:
... time inkscape file.svg
and press Ctrl+Q while it's being rendered (try to press it at the same moment each time). On exit, time will show you the time spent for the run, including both loading time and rendering time. Without your patch, it takes on average 28.6 seconds on my system; with your patch, 42 seconds. I think the difference is too big for the patch to be acceptable as is.
Now that I look more closely at what you're suggesting, any suggestions for how to do something similar on Windows? (I could probably get a utility similar to time from somewhere, but inkscape doesn't behave like a console application on Windows) Can I use a profiler of some sort?

On 7/12/06, Jasper van de Gronde <th.v.d.gronde@...528...> wrote:
Now that I look more closely at what you're suggesting, any suggestions for how to do something similar on Windows? (I could probably get a utility similar to time from somewhere, but inkscape doesn't behave like a console application on Windows)
You can get time itself, it's part of cygwin (cygwin.com). Choose the "time" package when installing.
As to Inkscape, it does not output to console on Windows, but you don't need that. You just need to run it through time. The information you need is displayed by time, not by Inkscape. So I think it should work fine.

bulia byak wrote:
Jasper,
With your patch, gradient rendering indeed seems to be better. But it's also much slower. ...
So I would like to encourage you to work further on your patch, which is will be very welcome if it can be made as fast as the current code (or maybe even faster, who knows).
The patch is now faster than the code in SVN :) (On my system at least.) The rendering quality of the original patch should not be affected. (And I've updated the patch in the patch tracker.)
participants (6)
-
Bryce Harrington
-
bulia byak
-
Jasper van de Gronde
-
Joshua A. Andler
-
momo
-
Spyros Blanas