[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-2d-dev
Subject:    Re: [OpenJDK 2D-Dev] <AWT Dev> [9] Review Request: JDK-8041900 [macosx] Java forces the use of discr
From:       Semyon Sadetsky <semyon.sadetsky () oracle ! com>
Date:       2015-10-20 14:50:57
Message-ID: 562654D1.3080502 () oracle ! com
[Download RAW message or body]

The fix looks good.

Thanks.
Semyon

On 10/20/2015 5:37 PM, Sergey Bylokhov wrote:
> On 20.10.15 14:52, Semyon Sadetsky wrote:
> > 1.
> > As I read about NSOpenGLPFAAllowOfflineRenderers attribute here
> > https://developer.apple.com/library/mac/technotes/tn2229/_index.html
> > 
> > To support Mac OS X 10.4 or earlier, you will need to remove this
> > attribute from your attribute list, as otherwise pixel format creation
> > will fail.
> > 
> > Should we care about OS X < 10.4?
> 
> I guess we use lots of API which are available only on OSX 10.6 and 
> later.
> For example JNF library which we are using in jdk are not available on 
> 10.4.
> https://developer.apple.com/library/mac/documentation/CrossPlatform/Reference/JavaNativeFoundation_Functions/ \
>  
> 
> > 
> > 2.
> > As I understand, an important for the app to react on the card switching
> > correctly. For example discrete card is switched to the integrated due
> > to energy saving and then is switched back. Did you try this scenario?
> 
> Yes, I have tried both cases: integrated -> discrete and discrete -> 
> integrated
> 
> > 
> > --Semyon
> > 
> > 
> > On 10/20/2015 11:14 AM, Alexander Scherbatiy wrote:
> > > 
> > > The fix looks good to me.
> > > 
> > > On 10/19/2015 4:36 PM, Sergey Bylokhov wrote:
> > > > Hello.
> > > > Please review an updated version of the fix:
> > > > http://cr.openjdk.java.net/~serb/8041900/webrev.00
> > > > 
> > > > This version fix the problem of incorrect scale under retina display
> > > > after gpu is switched. The problem is that we use Quartz based
> > > > API(displayid+CGDisplayRemoveReconfigurationCallbac) to handle update
> > > > of gpu, but in this callback the information about a current screen
> > > > in [NSScreen screens] can be outdated and we cannot properly get the
> > > > scale factor of the new device.
> > > > 
> > > > There are two options to fix the problem:
> > > > - Use cocoa based
> > > > api+NSApplicationDidChangeScreenParametersNotification. But currently
> > > > most of our methods uses displayid and quartz.
> > > > - Postpone the callback for one iteration and wait when [NSScreen ..]
> > > > will be updated.
> > > > 
> > > > The second approach is selected since the fix will be backported to 8.
> > > 
> > > Does it have sense to revisit the fix to use the Cocoa based API in
> > > JDK 9 only after the fix?
> > > 
> > > Thanks,
> > > Alexandr.
> > > 
> > > > 
> > > > On 02.08.15 21:58, Sergey Bylokhov wrote:
> > > > > Hi, Denis.
> > > > > On 27.05.15 18:08, Denis Fokin wrote:
> > > > > > Hi, Sergey,
> > > > > > 
> > > > > > Basically, you should close all apps that can switch the vc 
> > > > > > including
> > > > > > the utility for switching video cards. Make sure in About This 
> > > > > > Mac ->
> > > > > > Displays that the integrated card is enabled. Start an application
> > > > > > with the patched version of Java. Check About This Mac -> Displays.
> > > > > > Integrated video card should be still active.
> > > > > These steps are not enough. additionally this should be done also
> > > > > (tested on Idea/JEdit and some other applications):
> > > > > - All old jdk should be removed
> > > > > - The patched jdk should be re/installed
> > > > > - The application should be reinstalled and to Info.plist these 
> > > > > lines
> > > > > should be added:
> > > > > <key>NSSupportsAutomaticGraphicsSwitching</key>
> > > > > <true/>
> > > > > 
> > > > > - The fix doesn't work for applets, javapanel, javaws, and also 
> > > > > with
> > > > > applications which are running via command line (./bin/java -jar 
> > > > > xxx).
> > > > > Not sure that it can be fixed.
> > > > > - It also does not work for some bundled applications which contain
> > > > > NSSupportsAutomaticGraphicsSwitching in the Info.plist. Netbeans for
> > > > > example. This should be investigated. But for now the fix looks fine.
> > > > > 
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > > 27 ΝΑΡ 2015 Η., Χ 17:30, Sergey Bylokhov 
> > > > > > > <Sergey.Bylokhov@oracle.com>
> > > > > > > ΞΑΠΙΣΑΜ(Α):
> > > > > > > 
> > > > > > > Hi, Denis.
> > > > > > > Can you describe the steps on how to test it. On my mac it still
> > > > > > > change the vc.
> > > > > > > 
> > > > > > > > On 27.05.15 17:16, Denis Fokin wrote:
> > > > > > > > Please review the fix for jdk9
> > > > > > > > 
> > > > > > > > The fix allows do not force discrete video card usage on 
> > > > > > > > MacBook Pro
> > > > > > > > models with two video cards. I have tested the fix on several 
> > > > > > > > MPBs.
> > > > > > > > 
> > > > > > > > Bug: https://bugs.openjdk.java.net/browse/JDK-8041900
> > > > > > > > Webrev: http://cr.openjdk.java.net/~denis/8041900/webrev.00
> > > > > > > > <http://cr.openjdk.java.net/%7Edenis/8041900/webrev.00>
> > > > > > > 
> > > > > > > -- 
> > > > > > > Best regards, Sergey.
> > > > > > > 
> > > > > 
> > > > > 
> > > > 
> > > > 
> > > 
> > 
> 
> 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic