Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Opengl GL_渲染器:如何更改应用程序使用的渲染器?_Opengl_Sdl_Renderer_Pyopengl - Fatal编程技术网

Opengl GL_渲染器:如何更改应用程序使用的渲染器?

Opengl GL_渲染器:如何更改应用程序使用的渲染器?,opengl,sdl,renderer,pyopengl,Opengl,Sdl,Renderer,Pyopengl,我看过i5笔记本的规格,并意识到它有两个视频适配器: 在我用python SDL2 python和pyOpenGL制作的应用程序中,我将这行代码用于了解它使用的渲染器: print('Renderer:', GL.glGetString(GL.GL_RENDERER).decode("utf-8")) 这是印刷的: Renderer: Intel(R) HD Graphics 4000 我不太理解专用或集成视频卡的问题。所以 如何使用其他渲染器?这取决于操作系统 在配备英特尔集成GPU和独

我看过i5笔记本的规格,并意识到它有两个视频适配器:

在我用python SDL2 python和pyOpenGL制作的应用程序中,我将这行代码用于了解它使用的渲染器:

print('Renderer:', GL.glGetString(GL.GL_RENDERER).decode("utf-8"))
这是印刷的:

Renderer: Intel(R) HD Graphics 4000
我不太理解专用或集成视频卡的问题。所以


如何使用其他渲染器?这取决于操作系统

在配备英特尔集成GPU和独立AMD/NVIDIA GPU芯片的笔记本电脑上,操作系统决定使用哪一种。这是“擎天柱”,如果你有一个NVIDIA芯片,AMD的“动态可切换图形”。默认情况下,笔记本电脑操作系统将尝试使用英特尔GPU,因为它使用更少的电源

有时,如果操作系统检测到您的程序正在执行大量3D操作,它会切换到外部GPU。在MS Windows上,应该有一个控制面板选项,如果您需要的话,可以始终使用外部GPU。在使用NVIDIA和特殊的“大黄蜂”软件包的Linux上(无论如何,对于Ubuntu),当您使用shell包装器从命令行运行程序时,您可以选择哪个GPU。在MacOSX或Linux和AMD上,我不知道


如果你想让你的程序在没有用户干预的情况下决定使用哪个GPU,你必须编写特定于系统的代码来迭代可用的设备/上下文/像素格式。

至少在windows上,不需要迭代设备。从exe导出几个变量就足够了。在C++中,它将被完成,但是我不知道如何在Python中实现这一点。我回到这个问题是因为我正在考虑实现GPU更改特性。有没有什么例子可以让我看到“在可用设备/上下文/像素格式上迭代的系统特定代码”?我自己从未尝试过,我让用户决定。在Linux上,最好的选择可能是Vulcan、vkEnumeratePhysicalDevices。在MS Windows上,我的Direct3D手册上写着IDXGIFactory::EnumAdapters