I was quite surprised to see that the image scaling anti-aliasing of Internet Explorer 8 seems to be significantly better than that provided by Chrome and Firefox. The screen-shot below is of google.com's home page of March 17th for Chrome and Explorer, side-by-side. Note the Chrome version has obvious staircases on the left of the image, and rasterization effects at the top:

Chrome and Explorer side-by-side--google.com's home page on March 17th

So my question is:

Is it possible to tweak the image scaling anti-aliasing of Chrome (and/or Firefox) to match Internet Explorer?

There was no difference between the 64-bit and 32-bit versions of Explorer. And there was no difference between Chrome and Firefox. (Using latest versions of all, on a 64-bit Windows 7 machine.)

A side question (and my real interest) is What benefits, if any, does Nvidia Optimus provide? But my tests are not yet advanced enough to pose this question. But early results seem negative. (Edit: it was kindly suggested that this side question was unrelated, and should be deleted. But I think it provides the motivation of this otherwise-fluffy question.)

  • While it is more anti aliased, also consider that it makes it more blurry on the other hand... – Tom Wijsman Mar 18 '12 at 1:37
  • Re: background/motivation: Atwood's Rubber Duck post has a link to Make it relevant to others. – Joseph Quinsey Mar 18 '12 at 1:47
  • @TomWijsman: There are of course many opinions on the value of anti-aliased text. But here I think Explorer is actually sharper: look at the 'radiation' symbol (the red and yellow 'Y') in the north-west part of the stylized Google 'G'. – Joseph Quinsey Mar 18 '12 at 1:59
  • What I said, more blurry. By sharpening you search values for pixels by using their closest neighbors, if non-edges get seen as edges and sharpened you are effectively blurring that part. When talking about pure edges, of course it will look sharper and better. But when talking about differences in color in a solid color, you get to see blurring in it. For that reason, you can tell in compressed movies whether sharpening has been used by paying notice to the most black and white colors, they would show the most blur... – Tom Wijsman Mar 18 '12 at 2:37
  • I don't follow. The screenshot shows a bitmap picture scaled up a lot, with two different blur filters applied, but nothing anti-aliased (apparently not even text "anti-aliasing"). – Eroen Mar 18 '12 at 4:29

Looking at the source file for Chromium's image resize and filtering, it appears the filter used for upscaling images is a radius 3 Lanczos filter. (see function ResizeMethodToAlgorithmMethod, I guess the default choice is used as the comments seem to fit better to downscaling). The convolution kernel is defined in the function EvalLanczos at the very top of the file, and has no provisions for any modification after compile-time.

Unless I read the code very wrongly (see the constructor for ResizeFilter), the filter(and the scaling) is applied one dimensionally in one direction at the time. The screenshots sort of seem to indicate that the IE filtering is two dimensional, and weighted by radius rather than maximum hor/vert distance. (This might be a false lead, though.)

I guess you could somehow determine what sort of filtering IE does and reimplement it, either just replacing the Lanczos filter, or (more fancily) update the rest of the source to call your filter. The latter would be necessary if you can't work around the one-dimension-at-the-time issue. I would not recommend it, though, unless you have particularly strong feelings about how your browser upscales images.

PS: The scaling in Opera also seems to match your Chrome screenshot.

  • Thanks for your detailed reply. Although I do have a background in image processing (radar-related) my question here was purely in the interest of consumerism: e.g. browsers Chrome/Explorer/Firefox with/without Optimus. But I'm happy to stir up trouble (and Google's images were nice). – Joseph Quinsey Mar 18 '12 at 8:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.