Paint.NET just can’t satisfy an 8-core Opteron

March 23, 2008 – 4:50 pm
Just to make sure, I went and downloaded the trial version of Windows Server 2008 from the Microsoft website. I installed it on this 8-core Opteron workstation with 8 GB of RAM that AMD sent me awhile ago for doing multithreading and performance scaling stuff. I installed version 3.22, then updated it to 3.30 Beta 2 to make sure that would work, and sure enough it does! (click for full size, 1600x1200) I'm not surprised, but I felt the need to verify this anyway :) I'll make sure the website lists Windows Server 2008 as a supported OS on the next update. As an interesting side note, having access to systems with 4 and 8 cores has brought up an interesting performance problem in Paint.NET, and key insights for optimization and design going forward. In the past I have done a lot of work to ensure that certain key rendering code is multithreaded, ...

Thoughts on Component Isolation for Paint.NET v4.0

March 16, 2008 – 6:29 pm
I've been doing a lot of thinking about how Paint.NET needs to change or evolve before it hits version 4.0, and the big thing that keeps coming up is isolation. Right now, the control flow and error handling in Paint.NET lets one component crash or corrupt the whole program. This could be code sitting in a plugin that causes an unhandled exception in a way that my try/catch harnesses don't handle, or it could be a COM component loaded by Windows common file Open/Save dialogs that crashes or locks up. Or maybe a piece of code doesn't throw an exception but it does corrupt some other data, and then that corruption causes a crash later. And then that gets attributed to the wrong component. GDI+ seems to like doing that a lot. Not only does Paint.NET need to be protected by crashing or "bad" plugins, but it needs to ...

Paint.NET forum is down … again :(

March 15, 2008 – 4:32 pm
(D'oh -- right before I hit "publish" on this post, the forums sprang back up) I'm not sure what's going on at Forumer lately, but it seems like the Paint.NET forums (not that the link works right now, mind you) have been up and down chaotically for the last few weeks. In fact, all of forumer.com is non-responsive, so I can't even leave a troubleshooting ticket on their forum. This has been an ongoing problem lately, unfortunately. There was a time in January (if I remember right) where it was down for probably a full week. When this happens my inbox starts filling up with e-mails telling me about it and asking when things will be fixed. Unfortunately, it's out of my control so there's really nothing I can tell people. I've actually been thinking about moving the forums for some time, so that I can host it ...

Paint.NET v3.30 Beta 2 is now available

March 13, 2008 – 1:33 am
It's been 2 weeks and I've been busy incorporating the feedback I've received so far on the first beta. Phew! Anyway, please note that this is a beta that expires in 60 days on May 11th. You can get this update by downloading it from the website, http://www.getpaint.net/ (no need to uninstall your current version, it will figure it all out for you), or via the built-in updater. For the latter, go to Help -> Check for Updates... and make sure you are set up to receive betas by clicking on the Options button and ensuring that "Also check for beta releases" is checked. Then close the dialogs and click on Help -> Check for Updates... again. Changes since Beta 1: Changed: Most effects and adjustments, including plugins that use IndirectUI, have been visually refreshed. The new look is cleaner and more compact. These changes ...

Cleaning up the UI for Paint.NET v3.30

March 10, 2008 – 1:50 pm
While I was adding the color wheel control for IndirectUI, I decided that now was as good of a time as any to incorporate some other feedback from some of the more prominent plugin authors. Ed Harvey had suggested that the UI could be made more compact, as adding a bunch of properties often created a dialog that was large or spread out. BoltBait and pyrochild wanted the ability to change the text in the title of the dialog – perhaps to add a "version 2" tag or something similar. The rendering quality of the preview/thumbnail image in some of the dialogs was also a bit of a thorn in my side. So, I've managed to address all of these, and a few others. The end result is a visually refreshed UI that is cleaner and less "noisy". I think the difference is best seen by showing pyrochild's Film effect ...

Nine Inch Nails and the New Online Business Model

March 7, 2008 – 9:55 pm
As many people may already know, I am a big fan of the band Nine Inch Nails, aka NIN, which is basically Trent Reznor and whomever he hires to work and perform with him at any given time. Earlier in the week, Trent posted that a new album was available, titled "Ghosts I-IV" (volumes one through four). Not even "coming soon," but available right now. Being a fan, I was naturally psyched about this and went to find out how I could get a copy right now. Eventually I succumbed and bought the $300 super ultra deluxe edition that comes with four LP's, two CD's, one DVD, one Blu-Ray, an art book, ready-to-frame-and-hang art, and Trent's signature. Plus it's a limited edition with only 2500 copies. Hey, I need to use those Paint.NET donations for something, right? The real story here is not that NIN has a new album, but rather ...

Ask and you shall receive … Color Wheel for IndirectUI

March 6, 2008 – 12:24 am
As part of the version 3.30 release of Paint.NET, I have finally marked all of the code in PaintDotNet.exe as "internal" (instead of public). This code was supposed to be treated as internal implementation details of Paint.NET, but plugin authors were using the code anyway. So, at some point or another I was going to have to do this, and I chose version 3.30 as the ship vehicle. (See, in Visual Studio 2003, which was the original development environment for Paint.NET, you couldn't add an EXE as a reference. Then they added this capability in VS2005, but I didn't catch on until later. So I had always assumed that plugins couldn't access this stuff and so I didn't need to mark it all as internal. Oops!) Well, as it turns out, one of the most popular controls that was being used by plugins was the color wheel. You know, this thing: This is ...

The new Nine Inch Nails, "Ghosts" Volume 1 through 4

March 3, 2008 – 1:25 am
What a great way to start the week. http://ghosts.nin.com I clicked the "Buy" button about as soon as I saw it show up on digg. I'm almost done downloading the 600MB ZIP containing the album encoded in FLAC. The download links are one-time use only, so hopefully Firefox doesn't crash!

Paint.NET v3.30 Beta 1 is now available

February 28, 2008 – 9:59 pm
Alright, here we go: finally a new update to Paint.NET! Please note that this is a beta, and expires in 60 days on April 28th. You can get this update by downloading it from the website, http://www.getpaint.net/ (no need to uninstall your current version, it will figure it all out for you), or via the built-in updater. For the latter, go to Help -> Check for Updates... and make sure you are set up to receive betas by clicking on the Options button and ensuring that "Also check for beta relases" is checked. Then close the dialogs and click on Help -> Check for Updates... again. The most notable features in this release are the ability to save PNG's at 8- and 24-bit depth, and the integration of Ed Harvey's "Fragment" blur effect. There are also a bunch of other minor things, bug fixes, and a new Italian translation. ...

Paint.NET learns Italian!

February 25, 2008 – 6:06 pm
There's one more feature, so to speak, that's been able to sneak in to the v3.30 release. From the blog title it should be obvious: Paint.NET will soon be available in Italian! I get a lot of e-mails asking for this, and now thanks to the hard working folks in Microsoft Developer Division ("DevDiv"), it will now be available. (DevDiv also handles the other 7 non-English translations)