I have a quite powerful graphics card in my computer. I am forced to use paint.net (http://getpaint.net/) for a particular graphic design competition. Can I make sure that paint.net makes use of my GPU? There seems to be no out-of-the box functionality for this.
Its not possible (least the way you want to do it), and its worth looking at the competition to understand why.
Adobe's Photoshop (which I suppose is the gold standard for graphics editing software these days) is explicitly designed to use the GPU in order to render and do various transforms and other processes. However, paint.net isn't - and I'll come to that in a bit.
That said, one of the strengths of paint.net is its plugin system, and while you can't have the same sort of GPU acceleration, plugins can be written that take advantage of GPU acceleration. Here's an example of one - a plugin that implements GPU accelerated blurs
The article has one reason why PDN may not have GPU acceleration yet
A GPU that supports DirectCompute is required along with Windows 7, or Windows Vista SP2 with the Platform Update (it needs DirectX 11, in other words). Most recent NVIDIA and ATI/AMD cards support this, although Intel’s do not. The latter is a big reason why I have not properly pursued this for Paint.NET yet – there is no high-performance software fallback for DirectCompute. (The “reference driver” does work, but is very slow because it’s intended to render “perfectly” without any regard to performance, and is mostly useful for GPU and driver engineers to make sure they are on the right track.)
Newer versions (well 4.0 on wards anyway) seem to use direct2d by default, but that's hardly making full use of your GPU - certainly not the same way as Photoshop and its opencl based fancy stuff.
To check if that's turned on is pretty simple.
At the end of the day with limited resources, and broader compatibility, baking it in makes no sense. In theory, some intrepid programmer could write plugins to do it, but as is, both other existing answers seem a little bogus. PDN dosen't support hardware acceleration until its written in or there's plugins that use it. Merely asking your system politely to use the GPU isn't good enough. Looks like PDN does support it but to a limited extent, and you might end up having good results supplementing it with appropriate plugins
This is a common problem with the NVidia drivers. They suck at allowing you to specify which graphics card to use in the case of multiple graphics cards in your system.
You can force the use of the higher-end graphics card when program
Paint.net is launched by opening the
NVIDIA Control Panel ->
3D Settings ->
Manage 3D Settings ->
Program Settings tab, choose
Paint.net from the
Select a program to customize pull menu (use
Add button if it's not in the list to add the executable's path. Choose the desired GPU from the pull list
Select the preferred graphics processor for this program. Close the
NVidia Control Panel. That's it.
NVIDIA is known to also use shadow profiles blocking GPU acceleration on certain programs without telling the user (VLC is a known issue, for example). I'm uncertain of Paint.net is one of them. If the above doesn't work, try renaming the Paint.net .exe file, and then adding the renamed file to the pull list in the NVIDIA Control Panel as described above. That will bypass any shadow profiles.