mirror of
https://github.com/glfw/glfw.git
synced 2025-10-03 13:20:58 +00:00
Support for automatic graphics switching on OS X
Enables the context to participate in automatic graphics card switching. This means that GLFW won't force switching to the discrete graphics card on any Mac that has dual graphics cards available. This will result in lower power consumption for GUI-style apps where the integrated graphics are more than adequate, but may be ignored for heavier applications such as games, where the user most likely wants to take advantage of the more powerful discrete graphics chip. For this functionality to actually be active, the Apps' Info.plist file still needs to be edited to contain: <key>NSSupportsAutomaticGraphicsSwitching</key><true/> otherwise it continues with default behaviour of forced discrete gfx. Note that switching graphics chipsets also incurs a ~200ms penalty on app startup, which is avoided by having this attribute set. Further info: https://developer.apple.com/library/mac/technotes/tn2229/_index.html
This commit is contained in:
parent
6743761c2c
commit
ac78657967
@ -126,6 +126,25 @@ int _glfwCreateContext(_GLFWwindow* window,
|
||||
|
||||
ADD_ATTR(NSOpenGLPFAClosestPolicy);
|
||||
|
||||
// Enables the context to participate in automatic graphics card switching.
|
||||
// This means that GLFW won't force switching to the discrete graphics
|
||||
// card on any Mac that has dual graphics cards available.
|
||||
// This will result in lower power consumption for GUI-style apps where
|
||||
// the integrated graphics are more than adequate, but may be ignored
|
||||
// for heavier applications such as games, where the user most likely
|
||||
// wants to take advantage of the more powerful discrete graphics chip.
|
||||
|
||||
// For this functionality to actually be active, the Apps' Info.plist
|
||||
// file still needs to be edited to contain:
|
||||
// <key>NSSupportsAutomaticGraphicsSwitching</key><true/>
|
||||
// otherwise it continues with default behaviour of forced discrete gfx.
|
||||
|
||||
// Note that switching graphics chipsets also incurs a ~200ms penalty on
|
||||
// app startup, which is avoided by having this attribute set.
|
||||
// Further info:
|
||||
// https://developer.apple.com/library/mac/technotes/tn2229/_index.html
|
||||
ADD_ATTR(NSOpenGLPFAAllowOfflineRenderers);
|
||||
|
||||
#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1070
|
||||
if (ctxconfig->major > 2)
|
||||
ADD_ATTR2(NSOpenGLPFAOpenGLProfile, NSOpenGLProfileVersion3_2Core);
|
||||
|
Loading…
Reference in New Issue
Block a user