Pixel Art Scaling Comparison Part 1

I’ve been playing with a few scaling algorithms in the 2dimagefilter project. They produce quite impressive results when fed pixel art, and the fact that emulators are able to run them in real time is just mindboggling.

Here I’ve chosen a bunch of images to showcase the Eagle, SuperEagle, SaI and SuperSaI algorithms. Part 2 continues with the EPX/Scale, HQx, xBR and xBRZ algorithms.

Eagle#

Eagle is the grandfather of pixel art scaling algorithms. It’s a bit long in the tooth these days, but has served as inspiration to many.

Here you can see an image scaled using Eagle, compared to your standard nearest-neighbor algorithm:

Image on the left Image on the right

And here you can see the details:

Zoomable image

It produces some weird artifacts in areas like the roof and the barrels, but it does a decent job overall.

SuperEagle#

SuperEagle was developed by Kreed in 1999, as an enhancement of the original Eagle algorithm.

Here you can see an image scaled using SuperEagle, compared to nearest-neighbor:

Image on the left Image on the right

And here you can see the details:

Zoomable image

It manages to alleviate the artifacts seen with Eagle by doing more blending, but doesn’t solve them completely.

SaI#

The SaI algorithm was developed by Kreed in 1999, following a similar approach as the one used in Eagle.

Here you can see an image scaled using SaI, compared to nearest-neighbor:

Image on the left Image on the right

And here you can see the details:

Zoomable image

It does a really good job with this image. I can see why it’s still popular after all these years.

SuperSaI#

SuperSaI, also written by Kreed in 1999, is a combination of the Eagle and SaI algorithms.

Here you can see an image scaled using SuperSaI, compared to nearest-neighbor:

Image on the left Image on the right

And here you can see the details:

Zoomable image

The additional blending doesn’t do much good in this particular case, but I’m sure there are scenarios where it makes a lot of sense.

Continue to Part 2 if you want to check out the EPX/Scale, HQx, xBR and xBRZ algorithms.

Posted on by Daniel Perez Alvarez. Got any comments or suggestions? Send me a tweet or an email.