J'utilise mon MacBook Pro 15 "début 2011 pour presque tout sous le soleil. Je contrôle souvent quel GPU est actif à l'aide de gfxCardStatus . J'ai remarqué certaines particularités dans la façon dont OS X décide de changer de processeur graphique:
- La plupart des applications nécessitant X11 déclenchent la commutation automatique, mais pas toutes.
- Il semble que toutes les applications nécessitant Java déclenchent la commutation automatique, bien que je n’aie pas testé cela avec des applications non graphiques.
- Certaines applications (comme Mathematica ou XCode) qui POURRAIENT nécessiter un processeur graphique haute performance forceront immédiatement le déplacement vers la carte discrète, même si elles ne sont lancées que pour une tâche triviale (un changement dynamique dans l'application serait cool, hors sujet)
- De nombreuses applications héritées (Silverlight) qui n'ont pas à demander de ma carte discrète vont forcer la regarless
- Enfin, certaines applications (GIMP, en particulier) qui pourraient certainement bénéficier d’un GPU discret ne le demandent pas du tout.
Apple indique-t-il comment il choisit quand changer de carte? Les applications peuvent-elles faire une demande au niveau du système d'exploitation pour la carte discrète si elle existe?
macos
gpu
development
agentroadkill
la source
la source
Réponses:
À un niveau élevé, cela ressemble à une transmission automatique: lorsque vous appuyez doucement sur l’essence, le papillon des gaz augmente, mais lorsque vous appuyez sur la pédale d’accélérateur, le moteur rétrograde la transmission pour augmenter l’avantage mécanique.
Vous pouvez influer sur le passage au puissant processeur graphique en tapant sur l'API avec un travail considérable et en espérant que la "transmission" envoie cette charge au GPU non intégré.
La documentation sur l'API est entièrement dans Xcode (et en ligne aussi, mais je préfère utiliser la recherche sur Xcode pour rechercher un document).
Je commencerais par:
Ces liens couvrent le Mac Pro et la section "Ce que vous devez savoir lors de l'utilisation d'OpenCL" contient une note utile intitulée WWDC 2013 Session 508: Utilisation d'OpenCL. explique comment basculer entre deux GPU dans un portable Mac en tenant compte de considérations d'alimentation
la source
DeviceSelectCL shows how to identify the offline GPU that is not connected to a display, and then use the CL device corresponding to this GPU.
Donc, le développeur peut choisir de pousser le travail sur ce GPU, le système d'exploitation décidera si c'est autorisé et l'arbitrera, mais l'application peut pousser son travail là-bas, à volonté.