Opengl GL_渲染器:如何更改应用程序使用的渲染器?
我看过i5笔记本的规格,并意识到它有两个视频适配器: 在我用python SDL2 python和pyOpenGL制作的应用程序中,我将这行代码用于了解它使用的渲染器: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和独
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