New answer (July 18th, 2016):
Dunno who first found it, but here's a nice writeup: https://m.reddit.com/r/pcmasterrace/comments/4azlwr/tired_of_windows_compressing_your_wallpapers_in/
Steps to do this:
- Hit WIN+R or search
- Enter "Regedit.exe" and hit enter
- Go to where I am in the picture (
HKEY_CURRENT_USER\Control Panel\Desktop
)
- Right click on desktop and select new DWORD
- Call it "JPEGImportQuality"
- Set it to 100 (decimal - not hex)
- Close regedit
Your registry should look like that now (with the new value highlighted):
Restart (or log out and back in, I just restarted) and re-set your wallpaper. It'll look better, but behind the scenes, it's still just a re-encoded JPEG, so don't expect any miracles.
The following answer is outdated. While it's probably still the best way of doing things because Windows can't even touch your files that way, there's another way above.
Old answer (October 25th, 2014):
There was an answer here, I even upvoted it and accepted it as the correct answer, but it seems to have vanished. It went like this:
Open X:\Users\<User>\AppData\Roaming\Microsoft\Windows\Themes\
. The TranscodedWallpaper
file inside is a JPG image without a file extension, replace it with a 100%-JPG version of the wallpaper you want to use.
Then, open the CachedFiles
folder. Inside should be one or more JPG files, each named like this: CachedImage_2560_1440_POS4.jpg
(substitute the numbers with your resolution's width and height). Find the one that matches your active resolution, copy its filename, then delete all the files. Copy your wallpaper's JPG version into this folder as well and rename it to whatever you just copied. The actual resolution of the wallpaper does not matter; as far as I could tell, Windows just reuses whatever wallpaper setting was set. ('Fill' for me)
To make your wallpaper just work (and also to stop the OS from undoing what you've done so far) you'll need to revoke the system user's write access. To do that, fiddle with the security settings of the TranscodedWallpaper
file and the CachedFiles
folder until it looks like this:
I don't know what these options are called in English versions of Windows, but I imagine their positions to be the same. The first combobox says 'Allow', the second one makes it so that the permissions are applied to all files and folders inside that folder recursively.
When you're done, log out, then log back in again. If you did everything right, your wallpaper shouldn't look like garbage anymore.
"Look ma, no artifacts!" (Wallpaper taken from Louie Mantia's wallpaper page)
Obviously, there are drawbacks to this method, namely:
- You have to go through all this permission nonsense every time you change the wallpaper (you might be able to automate this through batch scripts, but I have no idea how to do that)
- You won't be able to use wallpaper slideshows (at least not the native sort)
- You can't use actual PNG images, you have to use JPGs
Let's just hope Windows 10 won't be such a colossal disappointment in that regard.