创建一个独立的 QWidget控件,单纯绘制 100 条 3000个采样点的曲线数据.
Widget::Widget(QWidget *parent) : QWidget(parent)
{
m_data.resize(100);
for (int i = 0; i < m_data.size(); i++) {
QPolygonF p;
for (int j = 0; j < 3000; j++) {
p << QPointF((i * 100 + 50 * qSin(j / 10.0)), (j + 0.5));
}
m_data[i] = p;
}
startTimer(3000);
}
void Widget::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing, true);
QSizeF s = size();
painter.scale(s.width() / 10000.0, s.height() / 3000.0);
painter.translate(1.2, 1.2);
painter.setPen(Qt::red);
for (int i = 0; i < m_data.size(); i++) {
painter.drawPolyline(m_data[i]);
}
}
h5 canvas代码太过于牛逼无法上传
Qt桌面版 400ms左右, 关闭反锯齿到 40ms左右
canvas 默认反锯齿 40ms左右
WebGL 就不用测了,硬件加速快得多
【 在 technology (technology) 的大作中提到: 】
: 即使是 qt 桌面版绘图效率也赶不上html5。测试的过程和数据分享一下
--
修改:iwantfly FROM 221.219.211.*
FROM 221.219.211.*