OS X는 언제 그래픽 프로세서를 전환할지 결정합니까?


9

나는 거의 모든 태양에 대해 2011 년 초 15 인치 MacBook Pro를 사용 합니다 . gfxCardStatus를 사용하여 어떤 GPU가 활성화되어 있는지 자주 모니터링 합니다. OS X가 그래픽 프로세서를 전환 할시기를 결정하는 방식에 몇 가지 특이한 점이 있습니다.

  • X11이 필요한 대부분의 앱은 자동 전환을 트리거하지만 전부는 아닙니다
  • 자바가 아닌 모든 앱은 자동 전환을 트리거하는 것처럼 보이지만 GUI가 아닌 앱으로는 테스트하지 않았습니다.
  • COULD에 고성능 GPU가 필요한 일부 앱 (Mathematica 또는 XCode와 같은)은 사소한 작업을 위해 시작된 경우에도 디스크리트 카드로 바로 이동하도록합니다 (인앱에서 동적 전환이 시원 할 수 있습니다.
  • 별도의 카드를 요구하는 비즈니스가없는 많은 레거시 앱 (실버 라이트)
  • 마지막으로 개별 GPU에서 확실히 이점을 얻을 수있는 일부 앱 (특히 김프)은 실제로는 전혀 요구하지 않습니다.

Apple은 카드 전환시기를 어떻게 선택하는지 문서화합니까? 앱이 개별 카드가있는 경우 OS 수준의 요청을 할 수 있습니까?


Apple 개발자 문서가 도움이 될 수 있습니다. developer.apple.com/metal
Khürt Williams

답변:


5

높은 수준에서는 자동 변속기와 같습니다. 가스를 부드럽게 누르면 스로틀이 증가하지만 가속 페달을 밟으면 엔진이 변속기를 다운 시프트하여 기계적 이점을 높입니다.

상당한 작업으로 API를 쳐서 강력한 GPU 로의 전환에 영향을 줄 수 있으며 "전송"이 해당로드를 통합되지 않은 GPU에 전달할 것으로 기대할 수 있습니다.

API에 대한 문서는 모두 Xcode에 있으며 온라인에서도 가능하지만 Xcode에서 검색을 사용하여 문서를 찾는 것이 좋습니다.

나는 시작할 것이다 :

이러한 링크는 Mac Pro를 다루고 있으며 "OpenCL 사용시 알아야 할 사항"섹션에는 WWDC 2013 세션 508 : OpenCL 사용시 전원 고려 사항을 사용하여 Mac 휴대용 컴퓨터에서 두 GPU 간을 전환하는 방법이 설명되어 있습니다.


재미있어 보인다. 나중에 Mac에있을 때 Xcode 문서를 확인하겠습니다.
agentroadkill

따라서 명확하게 말하면, 응용 프로그램이 개별 또는 통합 그래픽을 사용해야하는지 결정하는 것은 전적으로 응용 프로그램 개발자의 몫입니까? OS는이 전화 자체를하지 않습니까?
agentroadkill

@agentroadkill 나는 그 반대라고 말하고 있습니다. 개발자는 OS에 현재 상황을 물어보고 영향을 줄 수 있지만 OS는 여러 가지 상충되는 입력을 기반으로 작업 일정을 결정하려고합니다. 결국, 수십 개의 앱이 GPU 호출을 지속적으로 처리 할 수 ​​있습니다.
bmike

OS는 궁극적으로 전화를 걸지만 링크 된 기사에 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.따르면 개발자는 GPU로 작업을 푸시하도록 선택할 수 있으며 OS는 허용 여부를 결정하지만 앱은 자유로이 작업을 푸시 할 수 있습니다.
agentroadkill
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.