내 응용 프로그램이 nVidia Optimus 랩톱에서 실제 gpu를 사용하여 항상 실행되기를 바랍니다.nVidia Optimus가있는 시스템이 내 애플리케이션에 실제 GPU를 사용하도록 강요합니까?
"옵티머스 시스템에 고성능 그래픽 렌더링을 활성화"에서Global Variable NvOptimusEnablement (new in Driver Release 302) Starting with the Release 302 drivers, application developers can direct the Optimus driver at runtime to use the High Performance Graphics to render any application–even those applications for which there is no existing application profile. They can do this by exporting a global variable named NvOptimusEnablement. The Optimus driver looks for the existence and value of the export. Only the LSB of the DWORD matters at this time. A value of 0x00000001 indicates that rendering should be performed using High Performance Graphics. A value of 0x00000000 indicates that this method should be ignored. Example Usage:
extern "C" { _declspec(dllexport) DWORD NvOptimusEnablement = 0x00000001; }
문제는 내가이 사용하는 델파이를 수행 할 것입니다. Delphi는 일부 해킹이 있어도 변수 내보내기를 지원하지 않습니다. 나는 그들 중 몇 명을 시도했지만 제대로 작동시키지 못했습니다.
같은 nvidia 문서에서 적절한 GPU 강제는 소수의 나열된 DLL 중 하나에 정적으로 연결하여 수행 할 수 있음을 읽었습니다. 그러나 나는 사용하지 않는 DLL에 연결하고 싶지 않다. (opengl.dll이 그 중 하나가 아닌 이유는 무엇입니까?) 간단한 수출 변수는 훨씬 더 깨끗해 보입니다.
응용 프로그램 프로필을 만드는 방법은 무엇입니까? –
이 Q는 속은 것처럼 보입니다 : http://stackoverflow.com/questions/3641983/export-a-global-symbol-from-a-delphi-dll –
C++ 프로그램에서 전역을 내보낼 때 이름이 장식되어 있습니까? . 찾으려면 dumpbin 또는 의존 키를 사용하십시오. 다음 당신의 델피 수출에 동일한 훈장을 적용하십시오. –