Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. What should I do if my code get bad performance in newer Qt5 version?

What should I do if my code get bad performance in newer Qt5 version?

Scheduled Pinned Locked Moved Unsolved General and Desktop
2 Posts 2 Posters 294 Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    Mr Pang
    wrote on last edited by
    #1

    Hi,
    I am developing a program recently. At the beginning, I choose Qt5.9.3 and the performance is satisfactory. But after upgrading Qt to newer version(had tried 5.9.4 5.9.5 5.9.7 5.10.0 5.11.0 5.12.0), the performance is more and more worse. I use perf to check out what happened, the result shows that below function is my bottleneck:

    void MainWindow::updateModel(int row, Session *s, bool append)
    {
        int i=0;   
        if(append){
            ue_list_model->setItem(row, i++, new QStandardItem(stat[s->getStat()]));
            ue_list_model->setItem(row, i++, new QStandardItem(s->getImsi().getImsiString()));
            ue_list_model->setItem(row, i++, new QStandardItem(s->getApn().getApn()));
            ue_list_model->setItem(row, i++, new QStandardItem(s->getRFTeidC().getFTeid()));
            QStandardItem *item = new QStandardItem(s->getDefaultBearer()->getRFTeidU().getFTeid());
            item->setToolTip(s->getRTeidUList());
            ue_list_model->setItem(row, i++, item);
            ue_list_model->setItem(row, i++, new QStandardItem(s->getLFTeidC().getFTeid()));
            item = new QStandardItem(s->getDefaultBearer()->getLFTeidU().getFTeid());
            item->setToolTip(s->getLTeidUList());
            ue_list_model->setItem(row, i++, item);
            ue_list_model->setItem(row, i++, new QStandardItem(s->getPaa().getPaa()));
            ue_list_model->setItem(row, i++, new QStandardItem(s->getRatType().getRatType()));
            ue_list_model->setItem(row, i++, new QStandardItem(s->getBearersEbi()));
            model_map[s] = ue_list_model->item(row);
            ue_list_model->item(row)->setData(QVariant::fromValue(s));
            for(int j=0;j<i;j++){
                ue_list_model->item(row, j)->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled|Qt::ItemNeverHasChildren);
            }
        }else{
            ue_list_model->item(row, i++)->setText(stat[s->getStat()]);
            ue_list_model->item(row, i++)->setText(s->getImsi().getImsiString());
            ue_list_model->item(row, i++)->setText(s->getApn().getApn());
            ue_list_model->item(row, i++)->setText(s->getRFTeidC().getFTeid());
            ue_list_model->item(row, i)->setText(s->getDefaultBearer()->getRFTeidU().getFTeid());
            ue_list_model->item(row, i++)->setToolTip(s->getRTeidUList());
            ue_list_model->item(row, i++)->setText(s->getLFTeidC().getFTeid());
            ue_list_model->item(row, i)->setText(s->getDefaultBearer()->getLFTeidU().getFTeid());
            ue_list_model->item(row, i++)->setToolTip(s->getLTeidUList());
            ue_list_model->item(row, i++)->setText(s->getPaa().getPaa());
            ue_list_model->item(row, i++)->setText(s->getRatType().getRatType());
            ue_list_model->item(row, i++)->setText(s->getBearersEbi());
        }
    }
    

    This function behaves good with Qt5.9.3 since I can not feel any delay. But with new version and same code, I can feel the delay of UI updating obviously. Should I treat this as a bug?

    1 Reply Last reply
    0
    • SGaistS Offline
      SGaistS Offline
      SGaist
      Lifetime Qt Champion
      wrote on last edited by
      #2

      Hi,

      Performance regression are usually treated as bugs.

      One thing you can to is check the release logs to see if anything related to that has changed between 5.9.3 and 5.9.4.

      Interested in AI ? www.idiap.ch
      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

      1 Reply Last reply
      0

      • Login

      • Login or register to search.
      • First post
        Last post
      0
      • Categories
      • Recent
      • Tags
      • Popular
      • Users
      • Groups
      • Search
      • Get Qt Extensions
      • Unsolved