Kil*_*zor 13 c++ opengl winapi
我知道如何用openGL打开一个窗口(使用Win32或其他工具包).但是当系统有2个显卡时.如何选择要渲染的图形设备?我的编程语言是C++,我专注于Windows,但欢迎任何样本.
编辑:也许更好地解释我的问题是一个好主意,为了增加一些观点:我的新笔记本电脑有两张图形卡.集成的Intel HD和GeForce GT 540M.英特尔卡大部分时间用于渲染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
man*_*ged 12
最简单的Nvidia Optimus特定解决方案是将此代码段粘贴到应用程序的某个位置.这将告诉Nvidia驱动程序在您的应用程序启动时切换到功能强大的GPU.
// enable optimus!
extern "C" {
_declspec(dllexport) DWORD NvOptimusEnablement = 0x00000001;
}
Run Code Online (Sandbox Code Playgroud)
我不是百分百肯定,但我似乎记得在Windows下这是不可能的,除了在特定屏幕上创建一个窗口.
NVidia提供了一个名为WGL_NV_gpu_affinity的扩展.我不确定它是否仍然可用,是否可以按照您的意愿运行.
编辑:
我看到在另一个帖子中已经提供了类似的信息,并附有该PDF的附加链接.也许不是一个令人满意的答案,但至少有一些信息.
| 归档时间: |
|
| 查看次数: |
8774 次 |
| 最近记录: |