winapi - 从 GDI+ 迁移到 OpenGL 有什么缺点吗?

标签 winapi opengl graphics gdi+

我最近将我的程序的渲染部分从 GDI+ 移至 OpenGL。

现在我想知道:这样做有什么缺点吗?

例如,是否有任何版本的 Windows(XP 或更高版本)支持 GDI+ 但不支持 OpenGL?
或者,例如,是否可能由于缺少驱动程序(或较差的驱动程序)或缺少显卡等原因而导致在 GDI+ 工作正常的系统上无法进行 OpenGL 渲染?

(我知道 OpenGL 可能需要在能力较差的系统上诉诸软件渲染,但除了速度慢之外,我想知道在 GDI+ 的情况下它是否会无法正常工作会的。)

最佳答案

这取决于您使用的 OpenGL 版本/配置文件。默认情况下,包括 Windows XP 在内的 OpenGL-1.1 均可用,无需额外驱动程序。自 Windows Vista 起,最低可用 OpenGL 版本为 OpenGL-1.4。

但是,如果您需要更多的东西,您就需要用户安装来自 GPU 供应商的驱动程序;标准 Windows 安装中默认安装的驱动程序不涵盖 OpenGL(出于不完全理智的原因)。

强烈依赖 OpenGL-ES 的程序和库已经采取了合并后备措施,如 ANGLE .

关于winapi - 从 GDI+ 迁移到 OpenGL 有什么缺点吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23362475/

相关文章:

c# - OpenTK 中的模板缓冲区深度

java - 不确定为什么这个图形屏幕没有更新

c++ - 如何在 ListView win32 api 中删除指针

c - C 中的 PlaySound 发出蜂鸣声但不播放 wav 文件

string - 如何使用 CreateFile() API 函数打开名为 𤭢.txt 的文件?

c++ - WritePrivateProfileStruct 有大小限制吗?

c++ - 改变每帧顶点的颜色(OpenGL)

c - 如何修复Glad.c中对符号 'dlclose@@GLIBC_2.2.5'的 undefined reference

c++ - 在 3D 三角形中查找左/右顶点到一个点

c# - 给定 IntPtr 句柄,更改窗口背景颜色