Hi,

Have you verified that the slowdown is primarily from painting (and not, for 
example, from instantiating new delegates as the path moves)? Were you hoping 
to generate the images on the fly, every time, or were you planning to e.g. 
take a snapshot once and then save to disk?

There's no built-in QML-based way to take snapshots -- you'd need a custom C++ 
component to do something like this (it does seem to be a frequent request; has 
anyone else made a component for this already?).

Regards,
Michael

On 18/11/2010, at 12:39 AM, ext 
[email protected]<mailto:[email protected]> wrote:

Hello,

I’m trying to make a Cover Flow using a PathView. Ideally, the delegate is a 
heavy/complex user-defined component (intended for user interaction) but this 
affects the scrolling performance (scrolling is not directly done by user 
interaction with PathView). Only the current-index delegate is available for 
user interaction at any given time.

 As a work around, I’ve replaced the delegate with a Loader to load the heavy 
component only when I’m not scrolling (see code snippet below). I want to take 
a snapshot of my complex component and save it as an image (or Pixmap or other 
light resource) to use for my light component. Is there an easy way to do this? 
If not, is there an easy way or another way to improve the performance of the 
PathView scrolling?



PathView{

    property variant dataModel: myModel

    property bool readyToScroll: false



    id: coverFlow

    width: 360

    height: 540



    pathItemCount: 3

    preferredHighlightBegin: 0.5

    preferredHighlightEnd: 0.5

    interactive: false



    path: Path {

        id: myPath

        // path definition

    }



    model: dataModel



    delegate: Loader{

        id: delLoader

        width: coverFlow.width

        height: coverFlow.height



        sourceComponent: (readyToScroll) ? lightComponent : heavyComponent

    }



    Component{

        id: heavyComponent

        Rectangle {

            // heavy component definition

        }

    }

    Component{

        id: lightComponent

        Image{

            source: // snapshot image of heavy component

        }

    }

}


Regards,
Jevon

<ATT00001..txt>

_______________________________________________
Qt-qml mailing list
[email protected]
http://lists.trolltech.com/mailman/listinfo/qt-qml

Reply via email to