You will also see other artifacts when placing text with css transforms over any other compositing layer (canvas, elements with css transform/animation etc).
It's unfortunate to see claims being made about best practices for performance and behavior entirely based on what Chrome Canary does (on one platform, no less). If you're going to tell people to cover their pages in z-index, you should at least test it in other browsers to see if there's a performance penalty (or improvement) there...
This works the same way in Safari 6 on OS X Mountain Lion. z-index: 1 does the trick.
And this is a wonderful advice - losing of subpixel antialiasing on the text while something is animating on the screen was always killing me. And now I know exactly why it happens and how to fix it.
The text in Firefox doesn't lose subpixel antialiasing, at least in my browser.
Also, it's perfectly possible to use GPU compositing with subpixel antialiased texture, you just need a separate texture to store the (Ra, Ga, Ba) pre-component "alpha" vales and either dual source blending, two rendering passes (first to apply alpha to destination, second to add color), three rendering passes (one per color), or a pixel shader that takes the pre-blend target surface as an input.
Sure, but once the text is cached in a layer that layer might be rotated or scaled or similar, in which case subpixel antialiased text would cause ugly artifacts. Keeping subpixel antialiased text in the layer and re-rendering the layer without subpixel antialiasing when a rotating or scaling animation starts would lead to stutters in the animation.
Looking forward to high DPI displays obsoleting subpixel antialiasing as it leads to a bunch of problems when wanting to create fluidly animating UIs.
[+] [-] hcarvalhoalves|13 years ago|reply
[+] [-] bicknergseng|13 years ago|reply
[+] [-] gwwar|13 years ago|reply
[+] [-] gwwar|13 years ago|reply
You will also see other artifacts when placing text with css transforms over any other compositing layer (canvas, elements with css transform/animation etc).
[+] [-] kevingadd|13 years ago|reply
[+] [-] M4v3R|13 years ago|reply
[+] [-] masklinn|13 years ago|reply
[+] [-] Qantourisc|13 years ago|reply
[+] [-] aoetr|13 years ago|reply
Also, it's perfectly possible to use GPU compositing with subpixel antialiased texture, you just need a separate texture to store the (Ra, Ga, Ba) pre-component "alpha" vales and either dual source blending, two rendering passes (first to apply alpha to destination, second to add color), three rendering passes (one per color), or a pixel shader that takes the pre-blend target surface as an input.
If your browser doesn't do that, file a bug.
[+] [-] capisce|13 years ago|reply
Looking forward to high DPI displays obsoleting subpixel antialiasing as it leads to a bunch of problems when wanting to create fluidly animating UIs.
[+] [-] Joe8Bit|13 years ago|reply