分别在这两个图像上绘制一万个矩形:
测试代码1:
QImage image(1000, 1000, QImage::Format_ARGB32);
QPainter painter2(&image);
for (int i = 0; i < 10000; ++i) {
painter2.drawRect(i % 100 * 10, i / 100 * 10, 8, 8);
}
测试代码2:
QPixmap pixmap(1000, 1000);
QPainter painter1(&pixmap);
for (int i = 0; i < 10000; ++i) {
painter1.drawRect(i % 100 * 10, i / 100 * 10, 8, 8);
}
测试环境:Qt 6.8.2,OS Win10
多次测试得出结论:在QPixmap上绘图更快。
在QPixmap上绘图时间(30毫秒左右)大概是在QImage上绘图时间(45毫秒左右)的65%左右。