gfxCardStatus
gfxCardStatus는 인텔 내장 그래픽과 AMD나 Nvidia의 외장 그래픽 칩셋이 같이 장착되어 있는 15, 17인치 맥북프로 유저들에게 유용한 프로그램입니다. 메뉴바의 아이콘을 통해 현재 어떤 그래픽 칩셋이 활성화되어 있는지 사용자에게 알려주며, 어떤 그래픽 칩셋을 사용할지 사용자가 직접 지정을 해줄 수도 있습니다. 최근에 버전 2.2.1로 판올림되어 레티나 맥북프로도 지원하기 시작했습니다. (외장 그래픽 칩셋이 없는 맥북 및 맥북프로 13', 맥북에어에는 무의미한 프로그램입니다.)
인텔 내장 그래픽과 외장 그래픽 칩셋이 둘 다 달려있는 윈도우 계열 노트북은 노트북 외관에 드러나 있는 그래픽 스위칭 버튼이나 노트북 제조사가 배포하는 전용 프로그램을 통해 사용자가 직접 칩셋을 선택할 수 있는 경우가 많습니다. (보통 ’고성능 ⟷ 전원 절약’등으로 표기가 되어 있습니다.) 하지만 맥북프로는 지금 소개해드리는 것과 같은 별도의 써드파티 프로그램을 설치하지 않고서는 현재 사용중인 그래픽 칩셋이 어떤 것인지 알 수 없고, 어떤 그래픽 칩셋을 사용할지 선택도 할 수 없습니다. 사용자가 그래픽 스위칭 같은 골치 아픈 하드웨어 문제로부터 자유로울 수 있는 것과 어떤 그래픽 칩셋을 사용할지 마음대로 선택할 수 있는 자유... 사전적인 의미가 다르긴 하지만 이 두 자유 중에 애플은 전자를 추구하고 있습니다. ‘단순함’과 ’’사용자 선택권’이 상충하면 단순함을 따르는게 그 동안 애플이 보여준 전례였습니다. 그럼 애플의 철학대로 그냥 맥이 그래픽 선택을 알아서 처리하게 내버려두면 될것을 왜 이런 써드파티 프로그램을 써가며 사용자가 신경을 써야할까요?
맥북프로는 기본적으로 전력 사용량이 낮은 인텔 그래픽 칩셋을 사용하다가 보다 강력한 그래픽 처리가 필요한 경우 ‘자동으로’ 외장 그래픽 칩셋으로 전환합니다. ’자동’이라는 말만 보면 뭔가 대단한 기술이 들어가 있는 것 같지만 단순히 사용자가 사용하는 프로그램이 GPU 가속 기능을 요구하는 코어 애니메이션(Core Animation), 쿼츠 콤포저(Quartz Composer), 및 쿼츠 익스트림(Quartz Extreme) API중 하나(혹은 그 이상을) 호출하거나 OpenGL, OpenCL을 사용할 때 전환이 이루어지는 생각보다 간단한 방식입니다. 게임이나 3D 프로그램등 프로그램을 사용하는 내내 고성능 그래픽이 요구되는 경우도 있지만, 단순히 프로그램 내의 특정 파트가 좀 미려하게 움직이기 위해, 혹은 그냥 단순히 화면에 번쩐 나타났다 사라져도 될 창에 페이드 효과나 슬라이드 효과가 적용된 경우에도 쿼츠 익스트림을 사용하게되는 경우가 있습니다. API가 호출되는 그 순간에만 외장 그래픽 칩셋을 사용하면 좋을텐데 프로그램이 완전히 종료될 때까지는 다시 인텔 그래픽 칩셋으로 돌아오지 않습니다.
외장 그래픽 칩셋은 내장 그래픽 칩셋보다 훨씬 높은 전력 사용량을 요구합니다. 최근에는 내장 그래픽 칩셋이 아예 CPU와 통합된 경우가 많아 예전에 비해 전력 사용 수치가 더욱 낮아졌고 앞으로 CPU+GPU 제조 공정이 미세화 될수록 앞으로 전력 사용량이 더 줄어들 전망입니다. 반면에 외장 그래픽 칩셋도 CPU와 마찬가지로 제작 공정을 미세화하고 있지만, 공정미세화로 얻을 수 있는 장점 중에 전력 사용량 감소보다는 성능 향상을 더 중요시 합니다. 그래서 몇년전과 비교해 보면 성능은 수십배 뛰었지만 전력 사용량은 항상 제자리 걸음이였습니다. 이런 외장 그래픽 칩셋은 내장 그래픽 칩셋에 비해 적게는 몇배에서 최대 수십배에 이르는 전력을 사용합니다. 즉, 외장 그래픽이 활성화되어 있는 경우 내장 그래픽을 사용할 때보다 짧게는 몇 십분에서부터 길게는 두세시간까지 배터리 사용 시간이 차이날 수 있습니다.
맥북프로를 전원 어댑터를 콘센트에 연결해서 쓸때는 외장 그래픽 칩셋을 사용해도 아무런 문제가 없습니다. 하지만 맥북프로는 노트북입니다. 상황에 따라 오로지 배터리에 의지해야 할 때가 있고, 또 단 1분이라도 아쉬운 상황이 오면 성능보다는 배터리를 쥐어 짜는게 우선시 됩니다. 하지만 이런 경우에도 앞서 말씀드린 쿼츠 익스트림을 사용하는 어플을 실행하면 맥은 전기를 적게 사용하는 내장 그래픽보다는 외장 그래픽을 활성화합니다.
gfxCardStatus라는 어플을 이용해 앞서 설명드린 문제의 대부분을 해결할 수 있습니다. 첫째로 현재 사용하는 그래픽 칩셋이 어떤 것인지 메뉴바를 통해 바로 알 수 있고, 사용자가 실행한 프로그램 중 어떤 프로그램이 쿼츠 익스트림 API를 호출해 그래픽 스위칭을 유발하는지 알 수 있으며(따라서 그 프로그램만 종료해 다시 내장 그래픽 칩셋으로 돌아올 수 있겠죠), 마지막으로 어떤 그래픽 칩셋을 사용할 지 사용자가 직접 선택할 수 있습니다. 또, 전원 어댑터가 연결되어 있는지 배터리를 사용하는지의 유무에 따라 미리 사용할 그래픽 칩셋을 지정해 둘 수도 있습니다.
(인텔 내장 그래픽이 활성화되어 있는 상태)
(외장 그래픽 칩셋(AMD)이 활성화되어 있는 상태)
- Reeder, BusyCal, ecto 이 세 프로그램이 외장 그래픽 칩셋을 활성화 시켰다는 것을 알 수 있습니다.
- Dynamic switching이 기본으로 선택되어 있는데 Integrated Only를 체크하면 내장 그래픽만 사용합니다.
- Discrete Only는 외장 그래픽 칩셋만 사용합니다.
- Preference를 클릭하면 세부 설정을 해줄 수 있습니다.
(위 사진) 순서대로
- 스마트 메뉴바 아이콘 사용 (AMD GPU는 a, NVIDIA는 n으로 아이콘 모양이 더 구체적로 표시)
- 최신 업데이트 자동 확인
- 시스템 시작시 gfxCardStatus 실행여부
- 사용하는 그래픽 칩셋이 바뀌는 경우 Growl 알림 받기
(위 사진) 전원 어댑터 연결 여부에 따라 어떤 그래픽 칩셋을 사용할 지 지정해두는 옵션입니다. gfxCardStatus 2.3 버전부터 해당 기능이 삭제되었습니다. (아래 링크 참조)
거의 대부분의 프로그램과 문제없이 작동하지만 Parallels나 Vmware 프로그램을 사용하는 도중에 그래픽 스위칭을 하시면 화면 그래픽이 깨지거나 시커멓게 변화는 문제가 있으니 이점만 유의하시면 될 것 같습니다.
보통 어떤 노트북이던지 노트북 제조사가 광고하는 것 보다 실제 배터리 지속 시간이 짧은 것이 보편적입니다만, 혹 지나치게 배터리가 빨리 닳는다는 느낌이 드시면 외장 그래픽을 항상 사용하고 계셨던 것은 아닌지 한 번 확인하시기 바랍니다.
2012년 9월 24일 업데이트
- gfxCardStatus 2.3 업데이트 - 한글화 및 마운틴 라이언 알림(Notifications) 정식 지원