- 主题:瞄了两眼 Qt 源代码,说一下 QPixmap
QPixmap 号称是为绘制作优化的,但并不是所有平台都有优化。
QPixmap 大体定义为
class QPixmap { QPlatformPixmap * data; };
QPlatformPixmap 的定义差不多是
class QPlatformPixmap { QImage *image; }
由此可见,在默认和 win32gdi 平台情况下,QPixmap 约等于 QImage,只是具有不同的接口。
不过在 xcb, directfb 和 direct2d 这几个平台下,分别定义了 QPlatformPixmap 的子类,并且当创建 QPixmap 时,可能由 QPA 插件返回它们。这时绘制就是被优化的了。
--
FROM 112.47.122.*
我觉得大多数场景QImage就够用了。这么多年写程序我几乎没用过QPixmap
【 在 hgoldfish 的大作中提到: 】
: QPixmap 号称是为绘制作优化的,但并不是所有平台都有优化。
: QPixmap 大体定义为
: class QPixmap { QPlatformPixmap * data; };
: ...................
--
FROM 120.244.156.*
看代码的结论是,在 linux 系统,绘制用 QPixmap 快。因为可以提前把像素数据放在 xwindow 的 server 部分,每次绘制不用重新传一次比较快。
在 windows 底下,不知道什么情况下用 direct2d,如果用 direct2d,用 QPixmap 多次绘制也会比较快的样子。
【 在 dormouseBHU (dormouseBHU) 的大作中提到: 】
: 我觉得大多数场景QImage就够用了。这么多年写程序我几乎没用过QPixmap
--
修改:hgoldfish FROM 110.81.41.*
FROM 110.81.41.*
pixmap只能在ui线程活着,没意思。。。
从来不用,Qimage王道
--
FROM 171.82.4.*