Всем привет.
Так как paint уходит на вторйо план по скорости работы и отрисовки то решил переписать на scene graph все руботу.
И как бы все обьекты работают, но вот одна ошибка не дает покоя(замедление работы очень сильное), и возможно это влечет за собою замедление работы.
QMLIcon_QML_64 : Update called for a item without content
QMLIcon_QML_65 : Update called for a item without content
QMLIcon : Update called for a item without content
QMLIcon : Update called for a item without content
QMLIcon : Update called for a item without content
QMLIcon : Update called for a item without content
Сам код данного класса выглядит вот так, кидаю старую реализацию и новую
//void QMLIcon::paint(QPainter *painter)
//{
//    painter->save();
//    QRectF rect = boundingRect();
//
//    QPen pen(m_color);
//    painter->setPen(pen);
//
//    QBrush brush(m_color);
//    painter->setBrush(brush);
//
//    QTransform transform;
//    transform.translate(rect.center().x(), rect.center().y());
//    painter->setTransform(transform, true);
//
//    iconDatabase::drawIcon(painter, m_icon);
//    painter->restore();
//}
QSGNode *QMLIcon::updatePaintNode(QSGNode *oldNode, QQuickItem::UpdatePaintNodeData *updatePaintNodeData)
{
    Q_UNUSED(updatePaintNodeData)
    QImage canvas(boundingRect().width(), boundingRect().height(), QImage::Format_RGBA8888);
    canvas.fill(QColor("transparent"));
    QPainter painter(&canvas);
    painter.save();
    QPen pen(m_color);
    painter.setPen(pen);
    QBrush brush(m_color);
    painter.setBrush(brush);
    QTransform transform;
    transform.translate(boundingRect().center().x(), boundingRect().center().y());
    painter.setTransform(transform, true);
    iconDatabase::drawIcon(&painter, m_icon);
    painter.restore();
    auto pTexture = window()->createTextureFromImage(canvas);
    if(!oldNode)
    {
        m_pTextureNode = new QSGSimpleTextureNode;
        m_pTextureNode->setRect(boundingRect());
        m_pTextureNode->setTexture(pTexture);
        return m_pTextureNode;
    }
    m_pTextureNode->setTexture(pTexture);
    return oldNode;
}
Надеюсь что те кто работали со scene graph отзовутся, не поулчается найти причину ошибки.
Заранее спасибо.