[OpenJDK 2D-Dev] [9] Review request for 8023794: [macosx] LCD Rendering hints seems not working without FRACTIONALMETRICS=ON

Phil Race philip.race at oracle.com
Fri Oct 24 20:03:41 UTC 2014


On 10/24/2014 10:56 AM, Andrew Brygin wrote:
> Hello,
>
>  please take a look to updated version of the fix:
>
> http://cr.openjdk.java.net/~bae/8023794/9/webrev.03/
>
>  TODOs were removed:
>  * CGLSurfaceData.java
>       the condition for lcd rendering is inherited from OGL surface 
> data, but
>       here we have to remove the check for the transparency, because 
> we always
>       create transparent  volatile images for swing backbuffers on 
> macosx in order
>       to support shaped windows.

Are you saying its created translucent regardless, or only if its shaped?
But if its really translucent/transparent under the text, then
IIRC the shaders - and s/w loops - do not properly handle that case.
You probably should try drawing LCD text over a fully transparent area
to see what happens.

>
> * * *CGGlyphImages.m and AWTStrike.m
>       NSException is used to  handle invalid (unevaluated) text 
> antialising hint values.
>       We actually have already used NSException to handle memory 
> allocation failure,
>       so this change just makes usage of get/release of primitive 
> arrays a bit more safe.
>
>
> Known differences comparing to apple jdk6:
>
> a) we do not interpret TEXT_ANTIALIASING_ON as lcd text.

Its should never have meant that, else you would have no way to explicitly
request grey scale.
>
> b) we do not render lcd text in a case of non-opaque paint. This 
> behavior is common for
>      all cases (software loops, OGL, and D3D), so it seems to deserve 
> a separate bug if we
>      want to handle this case.

I think that's another manifestation of the issue mentioned above.

-phil.




More information about the 2d-dev mailing list