有没有办法让Java应用程序在mac上使用集成的GPU而不是离散的GPU?
(我对发布不会将用户的Mac笔记本电脑推向离散模式的应用程序感兴趣,而不是在我自己的笔记本电脑上为所有应用程序锁定集成模式的方法,例如gfxCardStatus。)
答案 0 :(得分:3)
不幸的是,使用Java 7无法实现所需。
网络上的一些消息来源:
您已经提到gfxCardStatus,但这似乎是唯一的方法
理论上你可以禁用OpenGL support,但这还不足以让它不能触发java需要独立的图形。看来,作为评估的一部分,它是否应该使用openGL,它会让GPU发痒,并且mac决定它必须在该应用程序的生命周期内启动独立的GPU。
修改:即使gfxCardStatus prevent the switch anymore也不能{{3}}。
答案 1 :(得分:0)
必须在应用程序的启动器的Info.plist文件中指定一个特殊选项:
<key>NSSupportsAutomaticGraphicsSwitching</key><true/>
这为Java应用程序提供了使用集成卡的强大功能。否则,系统默认使用独立图形。不幸的是,此选项未包含在Oracle的标准JVM分发中。
答案 2 :(得分:0)
我在使用Arduino(基于Java)的应用程序的Mac OS X 10.11.6(15G1108)上遇到了类似的问题,总是使用高功率(外部)显卡。
托马斯的暗示最终引导我转向最初设置为<key>NSHighResolutionCapable</key>
的Arduino的Info.plis条目<true/>
。设置为<false/>
,Arduino只使用集成显卡就可以在我的Macbook Pro视网膜上大幅降低功耗!
(Java 8-Update 111,Arduino 1.6.12)