Error diffusion versus ordered dither
Both families answer the same question and get incompatible answers. Knowing which artefact each is prone to is more useful than knowing which is better, because neither is.
The same question, two answers
You have a pixel that wants to be a mid-grey and a palette containing black and white. Whichever you choose, you are wrong by about half. The only question in dithering is what to do with that half.
Error diffusion passes it on. Round the pixel, measure how far off you were, and add fractions of that error to the neighbours you have not reached yet. The next pixel now wants to be slightly darker than it really is, so it rounds the other way, and over any patch the count of black and white comes out to exactly the grey you started with. Nothing is discarded, only moved.
Ordered dithering decides in advance. A small matrix of thresholds tiles across the whole picture, and each pixel is compared with whichever threshold it happens to land on. A mid-grey region falls above half the thresholds and below the other half, so it comes out as a regular checker whose density is right on average — but nothing is carried anywhere, and the pattern is entirely a property of position.
| Property | Error diffusion | Ordered |
|---|---|---|
| Average brightness | Exact | Approximate |
| Pattern | Irregular, never repeats | Perfectly regular, tiles |
| Depends on scan order | Yes, entirely | No |
| Can be computed in tiles | No | Yes |
| Characteristic artefact | Diagonal worming on flat areas | A visible grid |
| Cost per pixel | Higher — neighbours must be updated | Lower — one comparison |