最近开始使用QT写算法,并且是高性能的,当频繁刷新Item的时候,出现越来越慢的情况,最终软件会完全卡死,找了一圈都没有太多办法。
使用了m_pScene->clear();,清除了Scence 现象没有任何变化。
由于 不断使用以下代码来绘制直线。包括绘制点也用这个函数。导致Item很多之后卡死。
pLineItem = new QGraphicsLineItem(y1,x1,y2,x2);
pLineItem->setPen(QPen(QColor(255, 0, 0), 0));
pLineItem->setData(Qt::UserRole, "showFore");
m_pScene->addItem(pLineItem);
使用pLineItem->setCacheMode(QGraphicsItem::ItemCoordinateCache)也不卡顿了,但是直线较为模糊。效果较差。
后面测试了一下
效果较好,绘制的直线清晰 pLineItem->setCacheMode(QGraphicsItem::DeviceCoordinateCache);