Open main menu

RuneScape Wiki β

Image optimisation bot

Bot crown.svg This bot is controlled by A proofreader.

Sysops may click the above link to block this bot if it should malfunction. In that case, please contact its operator to resolve the problem.

What is this?Edit

This bot is an image maintenance bot that can losslessly recompress all of the PNG images and GIF animations on the wiki. It can also optimise JPEG images, but does not do so due to lack of consensus and copyright issues (JPEG images on the wiki are often Jagex images uploaded under fair use).

How do I use this?Edit

  • You can add the {{compress}} tag to the initial description of an image you upload to the wiki. This bot should honour the tag in under an hour and remove the tag, but it can't remove the tag from your upload description.
  • You can add the {{compress}} tag to the description page of any image the wiki, by clicking the Edit link at the top of the image's page. This bot should honour the tag in under an hour and remove the tag.
  • This bot will periodically optimise all PNG images and GIF animations on the wiki. Currently, that is every month, calculated from the end of the previous all-wiki optimisation run.

PNG de-interlacing?Edit

If you saw "de-interlacing" in one of this bot's image upload summaries and are wondering what it is and why it does this...

The PNG interlacing algorithm, like GIF's, aims to show the user a coarse version of an image very quickly. In doing so, however, it introduces a few drawbacks for those who download or store entire images (but not thumbnails, because those are generated on demand by MediaWiki and are never interlaced), including Wikia's servers:

  • The image appears aliased during 75% of the loading process. It's only near the end that the user realises that the image was aliased because of interlacing, not because of a problem in the image itself. An image that is not interlaced does not suffer this problem, because the bottom portion visibly fills itself as the image is loaded.
  • The file size (and therefore loading time) is larger. Image compression is based on correlating neighbouring pixels' colours. Neighbouring pixels with similar colours are highly correlated, and can thus be represented in fewer bits and bytes. Interlacing changes the meaning of neighbouring: a pixel neighbours another in the first PNG interlacing pass of an image if it is 8 pixels away; in the second and third passes, 4 pixels away; etc. This means that the neighbouring pixels have less correlation between them during each pass, therefore the total file size increases. In turn, the image loads slower, which means that a viewer spends more time looking at an aliased picture, wondering why it looks so bad.

How do I run this?Edit

Some documentation and the source code are provided in /Source, should another user need to run this bot.

Users of other wikis can also use this code and adapt it to their wiki. No attribution is required, though the copyright notice must remain.