win32api 用 c 代码绘制控件,qt 用 cpp 绘制控件。哪能有大的区别。
Qt 的 QtQuick 部分采用了游戏的原理,使用 opengl 绘制图形、计算动画、合成图层,都是在显卡里面合成并显示。比纯 CPU 的 GDI/GDI+ 快。
不过 QtWidget 仍然是 cpu 绘制。即使是 cpu 绘制,QtWidget 大量使用了 SSE 指令集来加速绘制,也会比较传统的 win32api 快一些。QtWidget 不像 win32api 每个控件都搞个 hwnd,传递消息比较快,也是一个优胜点——传说中的 directui.
win32api 最近几年也有发展。win10 不太清楚,至少在 win7 里面,gdi 的绘制也是在显存里面进行。gdi/gdi+ 使用 cpu 绘制线条和图片,使用显卡加速接口做透明图层绘制。最后 dwm 窗口管理器把这块显存跟其它窗口的内容合成在一起,输出到显示器上。
【 在 kking (kevin) 的大作中提到: 】
: 没用过Qt,但不太理解它能快过基本上就是SDK简单封装的MFC
--
修改:hgoldfish FROM 183.253.23.*
FROM 183.253.23.*