Den 05-06-2015 kl. 23:04 skrev Simone: > I'm facing a problem in my QML application. The target is an Arrm processor
Ah, the pirate processor :) > (freescale iMX53) with not so much capabilities. > My problem is that I have a quite complex listview delegate item, and I > observe a cpu usage very high when scrolling my list with lot of items, > penalyzing the smoothness of the scrolling. > I was wondering if I can develop the delegate in C++ (with widgets) instead > of pure QML since the creation of QML objects is (of course) slower. No, you can't use widgets for this. Technically that might not be entirely accurate, but since we're talking performance, it is. What you can do instead is to create a new kind of item yourself by subclassing QQuickItem and using native OpenGL rendering to do this. There are examples in the Qt dir that shows how to do this. You can also watch a talk from last years dev days about how to do this. If you create a single item delegate that performs the entire painting without creating other objects, you probably can't do better. Now, wether this actually solves your problem > Is there such possibility? > Can I reasonably increase scroll performances? Yes, that should be possible. I was not sure if the delegate was instantiated multiple times or reused, but a quick test with this shows that it's actually created over and over again: import QtQuick 2.2 Rectangle { width: 360 height: 360 property int delegateCount: 0 Component { id: itemDelegate Text { text: "I am item number: " + index Component.onCompleted: console.log("Instantiated delegate", ++delegateCount) } } ListView { anchors.fill: parent model: 1000000 delegate: itemDelegate } } I hope this helps, Bo. -- Viking Software Qt and C++ developers for hire http://www.vikingsoft.eu _______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest