Nvidia optimus NvOptimusEnablement - PullRequest
       19

Nvidia optimus NvOptimusEnablement

0 голосов
/ 27 апреля 2018

У меня есть два GPU, Intel HD и Nvidia GPU. Я хочу, чтобы мое приложение использовало графический процессор Nvidia. Поэтому я создал заголовочный файл

extern "C"
{
  __declspec(dllexport) DWORD NvOptimusEnablement = 0x00000001;
}

, а затем включен в мой файл cpp, где я создаю устройство с адаптером Nvidia

D3D10CreateDeviceAndSwapChain(dxgiAdapter, D3D10_DRIVER_TYPE_HARDWARE,
        0, 0, D3D10_SDK_VERSION, &swapChainDesc,
           &pSwapChain, &pDevice);

, где dxgiAdapter - dxgiFactory -> EnumAdapters(1, &dxgiAdapter_);

1

- индекс графического процессора Nvidia, 0 - индекс Intel HD GPU.

но моя программа все еще использует графический процессор Intel. В чем проблема?

1 Ответ

0 голосов
/ 05 мая 2018

Попробуйте передать nullptr вместо dxgiAdapter, NvOptimusEnablement должен обработать это сам. Например, на моей машине на первом месте стоит графический процессор nvidia, а затем Intel HD Graphics, так что вы все-таки можете выбрать Intel. И убедитесь, что где-то на панели управления nvidia вы выбрали автоматический выбор предпочитаемого графического процессора.

...