[prev in list] [next in list] [prev in thread] [next in thread]
List: openjdk-2d-dev
Subject: Re: [OpenJDK 2D-Dev] <AWT Dev> [8] Request for review: 8000629 [macosx] Blurry rendering with Java 7
From: Jim Graham <james.graham () oracle ! com>
Date: 2013-03-28 20:44:49
Message-ID: 5154ABC1.5000301 () oracle ! com
[Download RAW message or body]
I don't think the constant would add any value and would just cause someone looking \
over the code to wonder what kind of magical value means NO_SCALE when the value is \
so obvious. I think anyone can realize that 1 or 1.0 means "not scaling" with about \
2 neurons firing. The mystery created by hiding it behind a constant would just \
cause all sorts of thoughts to arise that really have no value or bearing on the work \
being done...
...jim
On 3/28/2013 11:34 AM, Denis S. Fokin wrote:
> Hi Sergey,
>
> The fix looks ok. But I have two ideas.
>
> 1.) We use everywhere 1 as a measure of scale.Would not it be better to use a \
> constant at least for integer values? Actually, as far as we dealing with 1.0 we \
> should not have any issues with precision. On the other hand, the widening \
> primitive conversion can lead to a performance impact. But at least for integers we \
> could introduce a constant.
> CGLLayer.java
> 48 private int scale = 1;
>
>
> SurfaceData.java
> 1068 return 1;
>
> SunGraphics2D.java
> 262 if (devScale != 1) {
> 1639 final double invScale = 1.0 / devScale;
>
> SurfaceManager.java
> 300 return 1;
>
>
> Region.java
> 143 if (sv == 1.0) {
> 381 if ((sx == 1.0 && sy == 1.0) || (this == WHOLE_REGION)) {
>
>
> CGraphicsDevice.m
> 328 __block jdouble ret = 1.0f;
>
> The name for constant is a tricky question. Maybe NOT_SCALED or something like \
> that.
> 2.)
>
> I would really like to have a comment here
> 457 return getMaxTextureSize() / (getDevice().getScaleFactor() * 2);
>
> why not
>
> CGLGraphicsConfig.java
> 457 return (getMaxTextureSize() / (getDevice().getScaleFactor()) - 1);
>
> at least a minor comment.
>
>
> Thank you,
> Denis.
>
>
>
>
> On 3/28/2013 3:14 PM, Sergey Bylokhov wrote:
> > On 3/28/13 1:04 PM, Denis S. Fokin wrote:
> > > Hi Sergey,
> > >
> > > actually, the round function has a little bit more complicated
> > > implementation because of 6430675.
> > Here is the new version:
> > http://cr.openjdk.java.net/~serb/8000629/webrev.07
> > >
> > > Thank you,
> > > Denis.
> > >
> > > On 3/27/2013 7:15 PM, Sergey Bylokhov wrote:
> > > > On 3/27/13 4:12 PM, Denis S. Fokin wrote:
> > > > > Hi Sergey,
> > > > >
> > > > > why we do not use Math.round() here?
> > > > > Region.java:
> > > > > 153 return (int) Math.floor(newv + 0.5);
> > > > Just because it one additional call.
> > > > >
> > > > > Thank you,
> > > > > Denis.
> > > > >
> > > > >
> > > > > On 3/26/2013 7:33 PM, Sergey Bylokhov wrote:
> > > > > > Hello,
> > > > > > Please review the fix for jdk 8.
> > > > > > Change adds initial support of hidpi(mostly on 2d side). In the fix
> > > > > > scale was added to the surface data/CGraphicsDevice /CGLLayer. This
> > > > > > scale factor maps virtual coordinates to physical pixels.
> > > > > > This change doesn't add support of hidpi to aqua l&f and doesn't add
> > > > > > support of dynamic change of scale factor.
> > > > > >
> > > > > > Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8000629
> > > > > > Webrev can be found at:
> > > > > > http://cr.openjdk.java.net/~serb/8000629/webrev.06
> > > > > >
> > > > > > --
> > > > > > Best regards, Sergey.
> > > > > >
> > > > >
> > > >
> > > >
> > >
> >
> >
>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic