我刚买了13英寸的Retina Mac,注意到GLFW创建的窗口具有低分辨率的标题栏(左上角的窗口按钮和窗口标题文本)。GLFW_USE_RETINA cmake标志处于打开状态,但是我认为这只会影响GL渲染表面(但是在屏幕快照上,看上去渲染也很低分辨率,虽然_GLFW_USE_RETINA标志是绝对设置的,但在调试器中采用了setWantsBestResolution代码路径):
#if defined(_GLFW_USE_RETINA)
#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1070
if (floor(NSAppKitVersionNumber) > NSAppKitVersionNumber10_6)
[window->ns.view setWantsBestResolutionOpenGLSurface:YES];
#endif /*MAC_OS_X_VERSION_MAX_ALLOWED*/
#endif /*_GLFW_USE_RETINA*/
由于这是一个应用程序捆绑包,因此我知道可以通过添加以下内容来解决此问题:
<key>NSHighResolutionCapable</key>
<true/>
到应用程序包的Info.plist
文件(位于*.app/Contents/Info.plist
路径)。
实际上,除此以外,我不知道其他任何方式。 如果您不包含该密钥,则取决于某些因素,该应用程序可能会或可能不会被视为具有HiDPI功能,这可能会导致低分辨率的窗口装饰等。
如果有人知道一种无需修改Info.plist
可靠方法,请分享。
@shurcooL说了什么。
我将为下一个版本添加更好的plist模板。
谢谢你的工作! 在页面下半部分对此进行了解释: https :
这是从10.9开始的更改还是一直以这种方式起作用? 我不记得有人在10.10发布之前提到过这一点。
如果有人最终会在这里使用搜索。 这确实可以解决问题,但是如果您不满意,请尝试更改应用程序路径。 似乎OSX缓存了plist的一部分。 将应用程序移至/ tmp(用于测试)后,该选项已应用。
玩得开心。
最有用的评论
由于这是一个应用程序捆绑包,因此我知道可以通过添加以下内容来解决此问题:
到应用程序包的
Info.plist
文件(位于*.app/Contents/Info.plist
路径)。实际上,除此以外,我不知道其他任何方式。 如果您不包含该密钥,则取决于某些因素,该应用程序可能会或可能不会被视为具有HiDPI功能,这可能会导致低分辨率的窗口装饰等。
如果有人知道一种无需修改
Info.plist
可靠方法,请分享。