从GDI +迁移到OpenGL的任何缺点?

时间:2014-04-29 10:47:54

标签: winapi opengl graphics gdi+

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

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

例如,是否有任何版本的Windows(XP或更高版本)支持GDI +而不支持OpenGL?
或者,例如,是否可能缺少驱动程序(或驱动程序较差)或缺少图形卡等,以使GDI +正常工作的系统无法进行OpenGL渲染?

(我知道OpenGL可能需要在功能较弱的系统上使用软件渲染,但除了缓慢之外,我还想知道在某种情况下它是否只是无法正常工作哪个GDI +会。)

2 个答案:

答案 0 :(得分:4)

这取决于您正在使用的OpenGL版本/配置文件。最多可以包含Windows XP OpenGL-1.1,默认情况下没有其他驱动程序。从Windows Vista开始,最小的OpenGL版本是OpenGL-1.4。

但是,如果您需要更多内容,那么您依赖于安装来自GPU供应商的驱动程序的用户;默认情况下,在标准Windows安装中安装的驱动程序不适用于OpenGL(原因并非完全正确)。

强烈依赖OpenGL-ES的程序和库已经采用了诸如ANGLE之类的回退。

答案 1 :(得分:2)

有一些特性,例如:如果禁用透明度(这意味着,根本不在OpenGL下),则无法创建透明的XP窗口。否则,正如datenwolf指出的那样,ANGLE,但即便如此也不行。另一个选项可能是为Windows目标编译mesa3d,并启用了软件渲染。此选项可能是最安全的选项,并且比Microsoft的OpenGL 1.1软件实施速度更快。