It's a matter of personal preference on which program people think is better or prefer to use. I personally enjoy paint.net more than most other photo editing software because..
1) It's affordable. (it's FREE!)
Photoshop, Photoshop Elements, Paintshop pro, or the one I own Serif's PhotoPlus, none of those advanced photo editing programs are free, in fact, Photoshop and Paintshop pro are very expensive. I prefer fun and free.
2) Paint.net has an easy User Interface and the program is pretty easy to learn. I often feel overwhelmed or clueless in programs like Photoshop, Gimp, Serif's Photoplus, etc.
For many people, the learning curve for the advanced programs is, well, advanced and steep compared to paint.net. Many of the features in the more advanced programs are buried, for example the color 'Adjustments' in photoshop is in a sub category rather than being directly in the Menu Bar like paint.net's 'Adjustments' is. Which means, in the other pograms you have to do more navigating to find and use what you want to use. Also, because many of the features are buried, relying on shortcut keys almost becomes a necessity in photoshop in order to have a smooth work flow. Using shortcut keys in paint.net is very helpful, but most of the time I can play in paint.net with only one hand and a mouse.
3) In paint.net, most of the tools let you see what you are doing while you are doing it, for examples the gradient tool and the line/curve tool. If you have ever seen the gradient tool in photoshop, gimp, serif's photoplus, etc, their gradient tools don't draw live gradients. The gradient tool in those programs has a skinny line that represents where the gradient will be, and then when you let go of your mouse button the gradient is drawn (do an internet search for photoshop gradient tool videos). Gradient tools like photoshop's can cause you to do a lot of undoing and redoing till you get the gradient the way you want it. Like-wise, the pen tool in photoshop is the same way. In paint.net you have the bendy line/curve tool that has a paint width, end caps, and the tool can even act as an eraser with the right settings. With the pen tool though, you draw paths, which are skinny little lines that are flexible, and then after you have drawn a path you can 'stroke' it with paint. The issue with this is the paint width is a different width than the pen tool's paths, which means tracing an image with the pen tool might not turn out the way you expect, but you can't move/bend any paint, you have to undo the paint stroke, and then edit the path, and then re-stroke. Sorry if my explanation is confusing, but the pen tool is a confusing tool, and it's tedious, and it does take practice to use, unlike paint.net's line/curve tool. The line/curve tool might need a few things pointed out, but other than that it's mostly self-explanatory with just a little bit of fiddling. This is because paint.net's tools function as a type of 'what you see is what you get'. What you see yourself drawing, is what you are drawing, it's that width, it's that color, it's that pixelated, it's that precise, it is what it is. There are no skinny lines as representations and then afterwards you see your gradient or stroke your paint. In paint.net you see what you are drawing/coloring right as you're doing it.
Izu Me makes an excellent point. There are few applications on any platform as ubiquitous as Photoshop. What does excel mean. After all, where I work most of the graphic artists use Photoshop 90% of the time to do just the operations you listed, in a addition to croppi. There are many Graphic Design Software products available for businesses today. The ideal way to find out which app fits your needs best is to evaluate them side by side. For example, here you can compare GIMP and Paint 3D for their overall score (9.3 vs. 8.8, respectively) or their user satisfaction rating (96% vs. N/A%, respectively).
Paint.net is a free application, which in turn offers quite a few functions for image editing. If we review Paint.NET and compare with one of the best free photo editors - GIMP, the program takes the third place, referring to a lot of resources, and Paint.net - the eighth. Although Paint.NET is considered to be a successor to the tool called ‘Microsoft.
The visuals of 'what you see is what you get' of live functioning tools is something I have struggled to find in other programs. I like being able to position my line/curve tool exactly where I want it, without having to play the undo/redo game with a bunch of stroking. And I also like being able to see my gradient as I draw it. Drawing a gradient based off of a skinny line is like drawing a gradient blindly and it feels like those kinds of gradient tools heavily rely on trial and error.
4) Another big reason I like paint.net is because I like it's effects and plugins. You might have heard the popular saying 'There's and App for That.' Well, when it comes to paint.net, 'There's a Plugin for That'. All the plugins are very fun, and even without the plugins, paint.net's base effects are ones I use all the time, like dents and clouds. Because of paint.net's plugins, there are some things you can do with just a couple of clicks and you're done. Whereas with photoshop, sometimes it requires you to do a number of manual steps to get results or special effects. (and vice-versa, which is why I like multiple editing programs)
Unfortunately, there are some effects and plugins that paint.net has that you can't find anywhere else. For examples the Dents effect and Object plugins like AA's Assistant. With the object plugins, you can do things like feather an object's edges without having a selection.
To understand the value of object plugins, let me try to explain. In advanced photo editors, the main way to smooth rough edges is to use a selection and then use their advanced selection feather feature. Their selection feathering is a powerful feature, but I have felt stumped on complicated objects that have rough edges and no easy way to make a selection, or making a selection in order to smooth edges feels tedious compared to paint.net. For example, lets say I type some custom font but the font has rough edges, in paint.net all I have to do is use the feather plugin and the AA's assistant plugin and I'm done. In photoshop, I would first have to make a selection around the text, and then I would have to go find tutorials on how to use the advanced feather feature, and then I might spend five minutes tweaking the selection and feathering settings. My trouble wouldn't end there though, every time I would want to smooth edges, I would have to return to the tutorials until I finally remember how to properly use the selection feather feature, which varies for every image and object. Now, that's not to say the selection feather feature is a bad thing, because in an overall perspective, I really like photoshop's selection abilities to feather, expand, contact, refine edge, etc. I like photoshop's selection abilities so much I wish paint.net had those abilities despite them having a learning curve. However, even if paint.net could do what photoshop can do, I still see myself using the quick and easy object plugins, where selections aren't even needed.
5) I also like paint.net because I feel the work people accomplish in paint.net is a greater accomplishment. Photoshop can do a lot of fancy, super, shiny stuff, so when you do something amazing in photoshop it sort of loses it's 'wow' factor, because, well, that's just what photoshop does, it's photoshop, it's expected to do shiny and cool things. But, in paint.net, making things amazing can be like, 'What?! You made that totally awesome picture in that basic paint program?'. It takes a good handful of creativity and some skill to make something in paint.net that can rival programs like photoshop. Photoshop is a program made for professionals with a crazy expensive price tag fueling its development, while paint.net is FREE, and yet, paint.net can loosly do what photoshop can do.
In other words, I really like paint.net because it feels like a simple and basic program, but, it can surprise everyone and produce awesome computer-art and/or photo manipulations, which then shows just how much this program is a diamond in the rough. Artwork made in paint.net can feel more special, rewarding, and fun versus things made in programs that have high expectations and corporate money battles.
6) Although you are wanting to know which program is better, it is important to take into consideration that Paint.net and other photo editing programs can be interchangeable, as they can both do some of the same tasks. For example, you can use either paint.net or another software to remove blemishes from a person's face, to crop an image, to make a forum signature, to adjust colors, brightness, or contrast of a picture, and, you can cutout images and remove backgrounds, but keep in mind the different programs use different techniques, and paint.net has plugins that mirror some photoshop abilities.
7) I would like to mention that I love paint.net because when you use paint.net, or make things with paint.net, you get to be a part of the paint.net community! Yay! :cake:
It's fun to make something with a photo editing program, but it's even more fun with others. Yes, there are communities for photoshop, but I personally am intimidated by most of those communities. People that do things with photoshop always seem like professionals (probably because they are) or their works of art are real art, not just a hobbyist's doodles. Here at paint.net's forums, there are plenty of people who's art is very good and their skills are something to admire, however we aren't all professionals or artists, we are a mix when it comes to skills, and talent, and we all use paint.net for different things. I like the mix because then I can enjoy looking at artworks from a variety of talents, and I can enter contests with my own not-so-pro works of art and not feel awkward. I think most of us are basic average users, but regardless of how good or simple we are with the program, it's still fun to just share artwork, share tips and ideas, participate in contests, or contribute in the tutorials section or plugins section of this forum. It's fun to contribute to a favorite program and be involved with it, rather than just be a user of the software. And I do have to give a nod to the plugin contributors, they have a talent all of their own. So, for me, the paint.net community really adds to the paint.net experience and fun. Though, I will have to admit, the forums can be a little slow in activity sometimes.
If I had to choose a photo editing program, I would choose paint.net, and I have chosen paint.net.
Here is a sum up of all of the above :
* Paint.net is Free.
* Paint.net has an easy User Interface and the program is fairly easy to learn.
* Paint.net has live functioning tools. 'What you see is what you get' such as with the line/curve tool and gradient tool. Live functioning tools are hard to find in most programs.
* There are lots of super, fun, great, plugins. Some plugins, as well as effects, are unique to paint.net and not found in other programs, such as some distort effects and edge smoothing plugins.
* The work people accomplish in paint.net could be viewed as is a greater accomplishment. Paint.net doesn't have high expectations like other software, so artwork can be both fun, relaxed, and yet it also has potential to exceed expectations and make great art.
* Paint.net and other advanced photo editing programs can both do some of the same tasks, like crop images, remove backgrounds, image touch ups, etc.
* Paint.net has this online user community where you can share your artwork, share tips and ideas, participate in contests, or contribute in the tutorials section or plugins section of this forum. The paint.net community welcomes all users, whether you draw stick figures, shiny jewels, or have a talent for HDR photography.
(This article was originally posted at my personal website, before photodemon.org existed.)
The latest nightly build of PhotoDemon includes a bunch of new and improved blur filters. Blur filters are among the most computationally demanding filters in a photo editor, because for each pixel in an image, many other pixels must also be examined in order to calculate the blur. (Blurs generally work by averaging together groups of pixels. Motion blur averages pixels in a line, radial blur averages pixels in an arc, and normal blur averages pixels in a box or circle shape.)
As a simple example, consider a basic blur with a 200 pixel radius, applied to a 10 megapixel digital photo. For each pixel in the photo (all ten million of them), an area of 200 pixels in each direction must be averaged together. Using a simple box blur, this means a box of 200 pixels left, right, up and down must be tallied (for a net area of 400 * 400, or 160,000 pixel comparisons) in order to calculate the blur. Thus, such an algorithm would require:
Even on a modern PC, that's an enormous undertaking. Fortunately, mathematicians and coders have developed many clever ways to optimize blur functions. Many of these optimizations appear in the newest PhotoDemon build, so I thought it would be fun to speed-test four of PhotoDemon's blur tools against two other free photo editors: GIMP and Paint.NET. The results were surprising enough that I thought them worth sharing.
A brief overview of each photo editor:
- PhotoDemon: open-source, written in VB6, nightly build 893 (6.0 beta)
- GIMP: open-source, written primarily in C, v2.8.6
- Paint.NET: closed-source, written primarily in C# (and the .Net framework, per the name), v3.5.11
As benchmarking goes, this was very informal. PhotoDemon reports timing automatically in nightly builds, but for GIMP and Paint.NET I had to resort to using a stopwatch. Normally this is a terrible idea, but the algorithms involved take a very long time to run, so a stopwatch was sufficient for broad timing. (10ths of a second don't matter much when an algorithm takes twenty minutes to finish…)
All tests were done on Windows 7 (64-bit), on my Core i5 650 (3.2ghz) desktop PC with 8gb of RAM. My PC was middle-of-the-road when I bought it back in 2010, so I'd consider reasonably representative of an 'average' PC. All the tools in question appear to be heavily CPU-bound anyway, so it's doubtful newer processors or more cores would make a meaningful difference.
The test photo I used was a 10 megapixel photo, 3872x2592 specifically, in JPEG format:
With the exception of some very long timings (10+ minutes), all timings were checked twice to make sure results were representative. Very long ones were only checked once due to the wait involved, though I did initiate a second attempt just to make sure my PC wasn't acting up. (It wasn't.)
Use Gimp online, free
Here are the timing results for four separate blur types, with some notes on my implementation, and what I know or can potentially infer about GIMP and/or Paint.NET's implementations.
Gaussian Blur
Two notes - PhotoDemon used the 'good' quality setting, which is a Gaussian estimation using a modified 3x box blur, and GIMP used the IIR method.
Gaussian Blur provides an excellent starting point. Gaussian blur works by averaging a square chunk of pixels, and giving pixels close to the center more weight than pixels far away. It is the most common type of blur tool in photo editing software, probably because its results are aesthetically pleasing, and it is an easy blur function to optimize.
Instead of a naive approach, which would involve the 1.6 trillion calculations mentioned above, most photo editors implement Gaussian Blur using a separable implementation, which cuts the calculations to a much more pleasant 8 billion calculations. Unfortunately, 8 billion calculations is still a lot. (PhotoDemon's 'best quality' option on its Gaussian tool applies a pure Gaussian using separable kernels. On large images, it's slow. Very slow.)
An even faster approach takes advantage of a neat mathematical relationship between box filters and Gaussian filters: if you keep applying a box filter to a set of data, the result will eventually approach a Gaussian distribution. (Excellent charts available here, courtesy of Nghia Ho.) The Central Limit Theorem shows that repeating a box blur three times results in a function that's ~97% identical to a true Gaussian.
PhotoDemon uses this as the basis for its three quality settings for Gaussian blur (good, better, and best). Good is a 3x box blur approximation, Better is a 5x, and Best is a true Gaussian. For the chart above, I used the 'good' setting because it is by far the fastest. (Note that there's a bit more to it than just repeating a box blur - how you calculate the box blur size matters; I use a variation of the W3 recommendation available here.)
Take-home message: GIMP's IIR implementation is excellent - very fast, and it produces a true Gaussian, no estimations. PhotoDemon is surprisingly competitive for a single-threaded VB6 app. Paint.NET's Gaussian is quite poor both in quality and final result. Its resulting blur is muddier than a true Gaussian, and much slower than you'd expect for a box-blur approximation… so I honestly have no idea how they've implemented it.
Motion Blur
PhotoDemon used 'Quality' mode instead of 'Speed', meaning bilinear interpolation was applied to the rotated image. Also, 'blur symmetrically' was checked. No extra options are available for this tool in GIMP or Paint.NET.
Motion blur is a bit more problematic than Gaussian blur, because it doesn't work in a square pattern. A naive approach would have you use something like Bresenham's algorithm on each pixel, tracing a line at the specified angle and averaging interpolated values as you go.
Gimp Vs Paint Net
A much better approach is to simply rotate the image by the requested angle, apply a (very fast) horizontal blur, then rotate the image back into place. If you use a fast rotation algorithm (like the famous 3-shear technique), this can make motion blur very quick.
My PhotoDemon implementation does not use the fast 3-shear technique; it uses a naive, geometric rotation (reverse-mapped) with bilinear interpolation. I expected this to make it quite a bit slower than comparable tools in GIMP and Paint.NET, but I was surprised to discover that both software packages are… well, pretty damn terrible.
Based on a brief perusal of GIMP's source code, they appear to use the naive Bresenham approach, which explains why it's so slow.
Once again, Paint.NET's execution time makes no sense to me. For a software package that claims: 'extensive work has gone into making Paint.NET the fastest image editor available', methinks they need a bit more 'extensive work' on this particular tool…
Radial Blur
As before, PhotoDemon uses the 'quality' setting for bilinear interpolation. Paint.NET was applied at quality setting 2 out of 5, the default setting. GIMP does not provide any additional options for this tool.
And so we move to Radial Blur, where we find a surprising role reversal: Paint.NET gives a much better showing here, while GIMP turns in the worst performance yet. Again, a brief look at GIMP's source code for this function shows a questionable nested-loop approach to the problem. Tracing an arc-like path for each pixel is a bad idea, and while bilinear interpolation is used to improve the output quality - same as PhotoDemon - the time required makes this tool pretty much unusable.
Linux 18 04. PhotoDemon's implementation is nothing particularly special, which makes its relative performance so surprising. I use a well-known trick where I convert the image to polar coordinates, apply a horizontal blur, then convert the image back to Cartesian coordinates. A small amount of image quality is lost by the two coordinate conversions, but because we are blurring the image anyway, this doesn't matter much. That said, for small angles (< 5 degrees), both GIMP and Paint.NET produce better-looking output.
At larger radii, however, PhotoDemon's is much better. Both GIMP and Paint.NET produce Moire patterns, presumably from sampling at discrete intervals, while PhotoDemon's output is clean and smooth. This can probably be fixed in Paint.NET by using a higher quality setting, but quality setting 2/5 was already slow enough!
The top-left corner of the image after PhotoDemon's radial blur. Buttery smooth, and accurate edge handling.
Directv now ipad. Same corner, but from Paint.NET's radial blur. Nasty Moire patterns, and problematic handling in the corner - from an algorithm that took 4x longer to run.
Zoom Blur
No, that huge green bar is not an error. GIMP took a whopping 17 minutes to render a 200px zoom blur. PhotoDemon's 'traditional' mode was used to provide comparable output. Paint.NET does not offer any specialized options for this tool.
Last up is Zoom Blur, and we have a surprising winner! Paint.NET's zoom blur implementation is excellent - great quality, very fast, and overall a huge improvement from their other blur tools. I have no idea why Zoom Blur is significantly faster than their Gaussian Blur implementation at a comparable pixel size, so I can only assume that some kind of specialized optimizations have been added. Nice work, Paint.NET team!
GIMP… I don't even know what to say. It's possible that I triggered some sort of problem with GIMP's tile-based processing system, because there is no good way to explain a 17-minute processing time for such a straightforward function. Even a naive implementation shouldn't take anywhere near that long. Their implementation has loops nested five-deep (dear god), and while bilinear interpolation is used to improve output, that algorithm is so poorly written that I frankly think they should consider removing it completely. Even at very low distances, rendering takes forever. The original copyright date on the source file is 1997, so perhaps someone familiar with GIMP's internals should give this one a second look.
PhotoDemon uses the same trick here as with radial blur. The image is converted to polar coordinates (with swapped x and y values compared to the radial blur conversion), a horizontal blur is applied, then the image is converted back. Again, there is quality loss at low values, and both Paint.NET and GIMP provide better-quality output at very small radii. To mitigate this, I provide a second style on that dialog, which uses an iterative image-sized alpha blend to generate a blur. One of the neat things about that approach is that the image can be zoomed-out as well as zoomed-in.
An even faster approach takes advantage of a neat mathematical relationship between box filters and Gaussian filters: if you keep applying a box filter to a set of data, the result will eventually approach a Gaussian distribution. (Excellent charts available here, courtesy of Nghia Ho.) The Central Limit Theorem shows that repeating a box blur three times results in a function that's ~97% identical to a true Gaussian.
PhotoDemon uses this as the basis for its three quality settings for Gaussian blur (good, better, and best). Good is a 3x box blur approximation, Better is a 5x, and Best is a true Gaussian. For the chart above, I used the 'good' setting because it is by far the fastest. (Note that there's a bit more to it than just repeating a box blur - how you calculate the box blur size matters; I use a variation of the W3 recommendation available here.)
Take-home message: GIMP's IIR implementation is excellent - very fast, and it produces a true Gaussian, no estimations. PhotoDemon is surprisingly competitive for a single-threaded VB6 app. Paint.NET's Gaussian is quite poor both in quality and final result. Its resulting blur is muddier than a true Gaussian, and much slower than you'd expect for a box-blur approximation… so I honestly have no idea how they've implemented it.
Motion Blur
PhotoDemon used 'Quality' mode instead of 'Speed', meaning bilinear interpolation was applied to the rotated image. Also, 'blur symmetrically' was checked. No extra options are available for this tool in GIMP or Paint.NET.
Motion blur is a bit more problematic than Gaussian blur, because it doesn't work in a square pattern. A naive approach would have you use something like Bresenham's algorithm on each pixel, tracing a line at the specified angle and averaging interpolated values as you go.
Gimp Vs Paint Net
A much better approach is to simply rotate the image by the requested angle, apply a (very fast) horizontal blur, then rotate the image back into place. If you use a fast rotation algorithm (like the famous 3-shear technique), this can make motion blur very quick.
My PhotoDemon implementation does not use the fast 3-shear technique; it uses a naive, geometric rotation (reverse-mapped) with bilinear interpolation. I expected this to make it quite a bit slower than comparable tools in GIMP and Paint.NET, but I was surprised to discover that both software packages are… well, pretty damn terrible.
Based on a brief perusal of GIMP's source code, they appear to use the naive Bresenham approach, which explains why it's so slow.
Once again, Paint.NET's execution time makes no sense to me. For a software package that claims: 'extensive work has gone into making Paint.NET the fastest image editor available', methinks they need a bit more 'extensive work' on this particular tool…
Radial Blur
As before, PhotoDemon uses the 'quality' setting for bilinear interpolation. Paint.NET was applied at quality setting 2 out of 5, the default setting. GIMP does not provide any additional options for this tool.
And so we move to Radial Blur, where we find a surprising role reversal: Paint.NET gives a much better showing here, while GIMP turns in the worst performance yet. Again, a brief look at GIMP's source code for this function shows a questionable nested-loop approach to the problem. Tracing an arc-like path for each pixel is a bad idea, and while bilinear interpolation is used to improve the output quality - same as PhotoDemon - the time required makes this tool pretty much unusable.
Linux 18 04. PhotoDemon's implementation is nothing particularly special, which makes its relative performance so surprising. I use a well-known trick where I convert the image to polar coordinates, apply a horizontal blur, then convert the image back to Cartesian coordinates. A small amount of image quality is lost by the two coordinate conversions, but because we are blurring the image anyway, this doesn't matter much. That said, for small angles (< 5 degrees), both GIMP and Paint.NET produce better-looking output.
At larger radii, however, PhotoDemon's is much better. Both GIMP and Paint.NET produce Moire patterns, presumably from sampling at discrete intervals, while PhotoDemon's output is clean and smooth. This can probably be fixed in Paint.NET by using a higher quality setting, but quality setting 2/5 was already slow enough!
The top-left corner of the image after PhotoDemon's radial blur. Buttery smooth, and accurate edge handling.
Directv now ipad. Same corner, but from Paint.NET's radial blur. Nasty Moire patterns, and problematic handling in the corner - from an algorithm that took 4x longer to run.
Zoom Blur
No, that huge green bar is not an error. GIMP took a whopping 17 minutes to render a 200px zoom blur. PhotoDemon's 'traditional' mode was used to provide comparable output. Paint.NET does not offer any specialized options for this tool.
Last up is Zoom Blur, and we have a surprising winner! Paint.NET's zoom blur implementation is excellent - great quality, very fast, and overall a huge improvement from their other blur tools. I have no idea why Zoom Blur is significantly faster than their Gaussian Blur implementation at a comparable pixel size, so I can only assume that some kind of specialized optimizations have been added. Nice work, Paint.NET team!
GIMP… I don't even know what to say. It's possible that I triggered some sort of problem with GIMP's tile-based processing system, because there is no good way to explain a 17-minute processing time for such a straightforward function. Even a naive implementation shouldn't take anywhere near that long. Their implementation has loops nested five-deep (dear god), and while bilinear interpolation is used to improve output, that algorithm is so poorly written that I frankly think they should consider removing it completely. Even at very low distances, rendering takes forever. The original copyright date on the source file is 1997, so perhaps someone familiar with GIMP's internals should give this one a second look.
PhotoDemon uses the same trick here as with radial blur. The image is converted to polar coordinates (with swapped x and y values compared to the radial blur conversion), a horizontal blur is applied, then the image is converted back. Again, there is quality loss at low values, and both Paint.NET and GIMP provide better-quality output at very small radii. To mitigate this, I provide a second style on that dialog, which uses an iterative image-sized alpha blend to generate a blur. One of the neat things about that approach is that the image can be zoomed-out as well as zoomed-in.
I doubt there is a legitimate use for zoom-blur-outward like this, but it wasn't any extra work to implement.
Gimp 2.8 Download
Conclusions
Blur algorithm performance is hugely variable in both GIMP and Paint.NET. I'll admit - I find it a bit amusing that my little PhotoDemon project, written with a 15-year-old programming language and compiler, outperforms them so handily in multiple areas, despite my implementations being generally lazy, single-threaded, and heavily CPU-bound. I also call 'bullshit' on Paint.NET's claim about 'extensive work going into making Paint.NET the fastest image editor available.' I think the Paint.NET team does great work, and their software is a wonderful improvement over many free and paid photo editors, but its performance is greatly lacking in a number of areas.
Then there is GIMP. While I am very grateful for their software, and have learned to love its many quirks, there's no denying that whole swaths of its source code are in desperate need of a revamp. I imagine there is no point revisiting items like blur until they complete their migration to GEGL - perhaps then we will see big improvements in the performance of these various blur functions.
If there's a take-home message to all this, it's that algorithms will always be more important than programming languages. A well-written algorithm in a 'slow' language will often outperform a poorly written algorithm in a 'fast' language. VB6 may be forgotten and nearly dead, but I'm happy to see it staying competitive with the titans of the 'free photo editor' world. :)
If you read the article all the way to here, I hope you'll give PhotoDemon a look:
For a free, open-source photo editor, it has a lot of nice features, and I can empirically state that it outperforms GIMP and Paint.NET in at least a few areas!