It is currently March 29th, 2024, 3:36 pm

Images Rendered Poorly on New System

Get help with installing and using Rainmeter.
User avatar
Kaelri
Developer
Posts: 1721
Joined: July 25th, 2009, 4:47 am

Images Rendered Poorly on New System

Post by Kaelri »

So I've bought a new notebook since the last time I was here, and it's giving Rainmeter some problems with regard to image rendering. My usual PNG icons are supposed to look all smooth and antialiased, like this:

Image

Instead, they look like this:

Image

The problem occurs on all currently-available versions of Rainmeter: 2.0 r745 (x32/x64) and 2.1 Beta r822 (x32/x64). The images look fine at full-resolution (100x100), so it seems like there's a problem with resizing. The skin does not change the aspect ratio. Running Rainmeter as an admin makes no difference.

The new system is running Windows 7 Home Premium 64-bit, as opposed to the old XP Home 32-bit (where the first screenshot was taken, for comparison). Processor and memory are well above specs, obviously. I also have an ATI Mobility Radeon HD 6370 video card now, but I can't imagine hardware rendering is even involved here. Does anyone have the slightest idea what's going on?
User avatar
jsmorley
Developer
Posts: 22628
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: Images Rendered Poorly on New System

Post by jsmorley »

Kaelri wrote:So I've bought a new notebook since the last time I was here, and it's giving Rainmeter some problems with regard to image rendering. My usual PNG icons are supposed to look all smooth and antialiased, like this:

Image

Instead, they look like this:

Image

The problem occurs on all currently-available versions of Rainmeter: 2.0 r745 (x32/x64) and 2.1 Beta r822 (x32/x64). The images look fine at full-resolution (100x100), so it seems like there's a problem with resizing. The skin does not change the aspect ratio. Running Rainmeter as an admin makes no difference.

The new system is running Windows 7 Home Premium 64-bit, as opposed to the old XP Home 32-bit (where the first screenshot was taken, for comparison). Processor and memory are well above specs, obviously. I also have an ATI Mobility Radeon HD 6370 video card now, but I can't imagine hardware rendering is even involved here. Does anyone have the slightest idea what's going on?
Can you post a little sample skin with a couple of the images so I can see what it does on my system?
User avatar
Kaelri
Developer
Posts: 1721
Joined: July 25th, 2009, 4:47 am

Re: Images Rendered Poorly on New System

Post by Kaelri »

User avatar
jsmorley
Developer
Posts: 22628
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: Images Rendered Poorly on New System

Post by jsmorley »

I get this:
6-4-2011 9-32-30 PM.png
Looks good to me, but I guess I don't have a point of reference to compare to.

If what I get is good, then what is the difference between our systems I wonder.
You do not have the required permissions to view the files attached to this post.
User avatar
jsmorley
Developer
Posts: 22628
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: Images Rendered Poorly on New System

Post by jsmorley »

I added some meters to get a better look at antialias vs no antialias. First two gears are AntiAlias=0 and last two are AntiAlias=1
6-4-2011 9-40-39 PM.png
Like I said, it seems to be the behavior I would expect, but I'm not sure what if any difference there is between what you are getting and what I am getting.
You do not have the required permissions to view the files attached to this post.
User avatar
Kaelri
Developer
Posts: 1721
Joined: July 25th, 2009, 4:47 am

Re: Images Rendered Poorly on New System

Post by Kaelri »

Hm, no, you get the same thing I get. It used to look like this:

Image

Note the smoother edges, fewer artifacts, stripes in trash icon are of uniform width, circles in the gear icon are uninterrupted... I guess the difference must seem subtle on a screen of your size, but at smaller resolutions like mine, it's highly conspicuous. More importantly, though, I just can't imagine what the cause is.
User avatar
jsmorley
Developer
Posts: 22628
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: Images Rendered Poorly on New System

Post by jsmorley »

Kaelri wrote:Hm, no, you get the same thing I get. It used to look like this:

Image

Note the smoother edges, fewer artifacts, stripes in trash icon are of uniform width, circles in the gear icon are uninterrupted... I guess the difference must seem subtle on a screen of your size, but at smaller resolutions like mine, it's highly conspicuous. More importantly, though, I just can't imagine what the cause is.
I can't either, but I suspect there is some subtle difference in the way antialiasing is being done. I know spx did some tweaking in there a while back.

It would be good if you could take the time to do some downloading of revisions and see if we can nail down where it starts. I think you can get virtually every build we have done since r586 here:

http://rainmeter.net/forum/viewtopic.php?p=37861#p37861
User avatar
spx
Developer
Posts: 686
Joined: August 15th, 2009, 2:41 pm
Location: Osaka, JPN

Re: Images Rendered Poorly on New System

Post by spx »

Tested with Rainmeter 2.0 r745 on XP and 7.

XP:
Image
7:
Image

Probably MS changed the GDI+'s default interpolation behavior between XP and 7. :thumbdown:
I'm not sure what result is gotten on Vista.

EDIT:
After some testing on XP, I assume InterpolationMode behaves as follows:
- NearestNeighbor
- Bilinear = LowQuality = Default
- Bicubic
- HighQualityBilinear
- HighQualityBicubic = HighQuality
Got same result both bilinear and the default on XP. However, on 7, bilinear is broken just like the default. :(
As a workaround, can use HighQualityBilinear/HighQualityBicubic. Of course, increases CPU load.


Unfortunately, using HighQualityBilinear/HighQualityBicubic instead of Default causes another bugs and compatibility issues I've fought before...
If possible, I recommend the use of smaller image originally when downscaling the image to less than 50%.
Last edited by spx on June 5th, 2011, 7:51 am, edited 2 times in total.
User avatar
santa_ryan
Posts: 397
Joined: June 22nd, 2010, 4:11 am

Re: Images Rendered Poorly on New System

Post by santa_ryan »

Why not have it setup as a global variable for users spx? I'd actually prefer to use the highest quality AA as the CPU impact is negligible on a system like mine.

It would also allow users to completely disable AA even if AntiAlias=1 is set somewhere in a skin.
I have three rules when I'm trying to help you.
  • Don't get mad when you don't understand something
  • Be VERY specific with what you ask for.
    The more specific you are, the higher the quality of support you receive.
  • Do not just copy and paste what I put in examples and come back saying it doesn't work.
    It does work, but I purposely left blanks that you need to fill for your specific needs.
User avatar
jsmorley
Developer
Posts: 22628
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: Images Rendered Poorly on New System

Post by jsmorley »

santa_ryan wrote:Why not have it setup as a global variable for users spx? I'd actually prefer to use the highest quality AA as the CPU impact is negligible on a system like mine.

It would also allow users to completely disable AA even if AntiAlias=1 is set somewhere in a skin.
I am not a fan of setting up global variables. We have discussed this in the past and rejected it as unwieldy and unworkable. I also don't care for adding more stuff to Rainmeter.ini for this. Finally, I'm not certain that I agree with allowing users to have some global override on a setting that can be very important to the look of a skin by an author. AntiAliasing can really change how a skin looks, and authors design around having it on or not as needed for what they are doing. Enigma for sure is a completely different animal with AntiAliasing on and off.

I think the best approach at first glance, if it is possible, is to add specificity to AntiAlias= so it would recognize both the exiting 0/1 settings as they are, and add

NearestNeighbor
Bilinear
Bicubic
HighQualityBilinear
HighQualityBicubic

And have it use the appropriate routine. That way there would be no impact on existing skins, and only if an author / user wanted to sacrifice whatever CPU is required (and I suspect it would be very little) they could use the higher quality setting. It would however be on a skin by skin basis, to allow for maximum flexibility.