Выберите графическое устройство в Windows + OpenGL - PullRequest
11 голосов
/ 17 мая 2011

Я знаю, как открыть окно с помощью openGL (используя Win32 или другие инструменты). Но когда в системе есть 2 видеокарты. Как выбрать графическое устройство для рендеринга? Мой язык программирования - C ++, и я сосредотачиваюсь на окнах, но любой образец будет приветствоваться.

Редактировать: Может быть, это хорошая идея, чтобы лучше объяснить мою проблему, чтобы добавить некоторую перспективу: Мой новый ноутбук имеет две графические карты. Интегрированный Intel HD и GeForce GT 540M. Карта Intel работает большую часть времени для рендеринга SO, потому что это экономит батарею. Когда игра запускается, GeForce запускается автоматически. Эта система называется nvidia "optimus" (http://www.nvidia.com/object/optimus_technology.html). Проблема в том, что когда я запускаю свое приложение, обнаружен драйвер de opengl 2.1, а поставщик - Intel, и я не знаю, как переключиться на другое устройство.

Наконец-то я нашел эту информацию. Это не слишком полезно, если вы не используете nvidia, но я предоставляю его любому, кто может прочитать http://developer.download.nvidia.com/compute/cuda/3_2/toolkit/docs/CUDA_Developer_Guide_for_Optimus_Platforms.pdf

Ответы [ 4 ]

11 голосов
/ 11 января 2015

Самое простое решение Nvidia Optimus - вставить этот фрагмент кода в ваше приложение. Это скажет драйверу Nvidia переключиться на мощный графический процессор при запуске вашего приложения.

// enable optimus!
extern "C" {
    _declspec(dllexport) DWORD NvOptimusEnablement = 0x00000001;
}
8 голосов
/ 18 мая 2011

Я не уверен на 100%, но, похоже, я помню, что под Windows это невозможно, кроме как создать окно на определенном экране.

NVidia предоставила расширение под названием WGL_NV_gpu_affinity .Я не уверен, что это все еще доступно и работает ли он так, как вам хотелось бы.

Редактировать:

Я вижу, что аналогичная информация уже предоставлена ​​в другом потоке , с дополнительной ссылкой на этот PDF .Возможно, не удовлетворительный ответ, но хоть какая-то информация.

2 голосов
/ 28 мая 2015

Перейдите в Панель управления Nvidia> Управление настройками 3D> выберите предпочтительный графический процессор.По умолчанию вы можете видеть автоматический выбор.Измените его на желаемый графический процессор.

1 голос
/ 11 марта 2013

вы должны использовать расширение WGL_NV_gpu_affinity для программирования с несколькими графическими процессорами с OpenGL. (в случае карты NVIDIA). Но это поддерживается только на серии QUADRO. К сожалению, вы не можете выбрать графическую карту рендеринга в вашей системе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...