默认情况下,Qt(5.7.1)查看自己在运行应用程序之前要使用的硬件加速配置。 问题来自可怜的司机,Qt无法确定这些是否合适并让应用程序使用它。
有三个问题:
崩溃问题出现在Windows 7和便宜的图形设备上。所以我们通过在启动时强制ANGLE来修复它。但其他两个问题仍然存在。
例如,在具有Intel GPU且强制ANGLE的Windows 10上,应用程序遇到第二个问题,没有窗口内容。 这可以通过让Qt选择配置来解决。但有时候,让Qt选择或强迫ANGLE是不够的。 因此,我们没有一个独特的解决方案来使所有计算机配置工作。 我们在考虑强迫Qt不使用硬件加速,但我们不喜欢慢速计算机的想法,这是我们的主要目标。
以下是我们如何使用Qt强制配置:
强制ANGLE(根据硬件功能将OpenGL调用转换为DX9或DX11): QCoreApplication ::的setAttribute(Qt的:: AA_UseOpenGLES);
强制使用原生OpenGL: QCoreApplication ::的setAttribute(Qt的:: AA_UseDesktopOpenGL);
强制软件渲染: QCoreApplication ::的setAttribute(Qt的:: AA_UseSoftwareOpenGL);
我们正在寻找一种解决方案,可以在启动应用程序之前识别(优于Qt)使用的配置。
或许我们错过了另一种解决方案。