我是 Windows 开发人员,并且在 WinAPI 程序方面有一些经验。
据我所知,在 Windows 上有两种绘制方式,调用 GDI(包括 GDI 的包装器,如 GDI+)进行传统绘图或调用一些 API,如 DX 或 OpenGL 使用 GPU 进行绘制。
但是像Qt这样的其他东西是什么? Qt 是否最终调用 GDI 来绘制某些东西?或者它只是有自己的直接绘制方式?
我只是想知道它的一般理论。
最佳答案
Qt 小部件使用自定义软件渲染器(自定义光栅引擎) - 从表面上看,它不是 GDI。
https://doc.qt.io/qt-5/topics-graphics.html
每个小部件都继承自 QPaintDevice
您可以检查喷漆设备的类型:https://doc.qt.io/qt-5/qpaintengine.html#Type-enum
QtQuick 似乎正在使用 ANGLE (will convert ogl calls to d3d on windows)/纯 OpenGL - https://blog.qt.io/blog/2017/01/18/opengl-implementation-qt-quick-app-using-today/
关于qt - Windows 上的 Qt 如何准确绘制?它是否调用 GDI 内部绘制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16663833/