2013-08-06 3 views
3

에서 전환하지, 나는 다음과 같은 정보를 가지고 :NVIDIA 옵티머스 카드가 OpenGL을

3.1.0 - GL_VERSION

1.40에 대한 8.15.10.2538 빌드 - 나는 "Geeks3D GPU 뷰어 캡"실행하면 인텔이 GL_SHADING_LANGUAGE_VERSION

에 대한 8.15.10.2538를 구축, 그것은

내 그래픽 카드는 OpenGL 버전 (NVS 4200M)을하는 표시

GL_VERSION : 4.3.0이 GLSL 버전

: 4.30 NVIDIA의 Cg 컴파일러를 통해

가 내 그래픽 카드를 의미 하는가는 일부의 OpenGL 4.3.0 기능을 지원, 나는 4.3 컨텍스트를 만들 수 없습니다?

+0

을; 그 대신 인텔 칩을 사용했다. "OpenGL"및 "Optimus"를 검색하십시오. –

+0

@ Nicol Bolas 대단히 감사합니다! NVIDIA 제어판에서 설정을 변경합니다. – Amy

답변

13

그래픽 카드는 NVIDIA Optimus 카드입니다. 즉, 통합 Intel 그래픽과 전용 GPU를 "자동으로"선택합니다. 인텔 그래픽은 전용 GPU가 4.3을 지원하는 동안 3.1까지만 지원합니다. 어떤 버전을 선택했는지에 따라 해당 버전까지만 지원할 수 있습니다. Optimus의 유일한 문제점은 DirectX, CUDA, C++ AMP 및 OpenCL 만 자동으로 선택한다는 것입니다.

이로 인해 많이 발생했습니다. confusionandfrustration

사용하는 전용 GPU를 강제로 몇 가지 해결책이 있습니다

간단한
  1. , NVIDIA 제어판을 통해 전용 GPU를 사용하도록 응용 프로그램을 강제로. 이것은 일반적으로 시스템에서 작동하므로 중지 간격 솔루션입니다.
  2. 프로그램 시작시 CUDA 또는 OpenCL의 작은 비트 (또는 링크)를 호출하여 전용 카드로 전환되도록합니다. 그러나 이것은 CUDA 또는 OpenCL에 의존성을 추가합니다.
  3. 글로벌 변수 _declspec(dllexport) DWORD NvOptimusEnablement = 0x00000001;을 내 보냅니다. 이것은 일반적으로 가장 좋은 솔루션이지만 사용하는 언어에 따라 전역 변수를 내보낼 수 없을 수도 있습니다.

NVIDIA는이 일에 대해 문서를 발표 :이 노트북은 NVIDIA 칩을 사용하여 전환 실패에 문제가 http://developer.download.nvidia.com/devzone/devcenter/gamegraphics/files/OptimusRenderingPolicies.pdf

+0

대단히 감사합니다! 나는 당신의 첫 번째 제안에 따라 문제를 해결한다. 나중에이 문서를 읽고 다른 솔루션을 확인합니다. – Amy