As the over operation produces results more to the expectations of many users, how does it handle transparency exactly?

Simply spoken: if you paint some semi-transparent pixel over another semi-transparent pixel, then the result will be less transparent. It will be even less transparent than the lower frame pixel transparency. This is what we would probably expect from painting with semi-opaque paint.

Calculating the resulting transparency for two given pixels from an upper frame (B) and a lower frame (A) is thus more involved this time.



Again, we start with the transparency of the lower frame pixel (green) as a base. But this time, we can’t ignore the transparency of the (red) upper frame pixel. But simply adding both transparencies wouldn’t yield sensible results; what does a transparency of 2.0 or 511 mean?