Important: Please read the Qt Code of Conduct -

ListView Performance

  • Problem statement: working with huge data with list impacting performance
    Use case: Need to display list of songs list which has around 10000 element Data
    I have model implemented in QT/C++ that has data which is huge

    List view and delegate component implemented in QML where list view shows 10 elements at a time

    Now consider that when user scrolls from first element to last [10000th element] , this causes all 10000 delegate components getting created, of course even it will get destroyed as well based on the current list data scrolling.

    Now it is impacting the application to consume more CPU cycles as this operation caused huge UI creation & destruction.
    even cachebuffer does not solve the problem.
    element generation that enhance application performance.

    So is there any similar way in QT...?

  • Moderators

    Do you use lazy initialization? (canFetchMore() and fetchMore())
    Have you taken care of the hints from ListView documentation? The docs also list other performance considerations: well worth reading.

    Do you see any performance issues, actually? If so - where: in scrolling or loading? Or you only anticipate them?

Log in to reply