[SailfishDevel] Delegate creation on demand

Andrey Kozhevnikov coderusinbox at gmail.com
Sun Dec 15 20:22:51 UTC 2013


start with "Dynamic Object Management"

On 16.12.2013 02:21, Hendrik Borghorst wrote:
> Than if it is so clear could you be so nice and point me to some
> documentation?
>
> Am Montag, den 16.12.2013, 02:19 +0600 schrieb Andrey Kozhevnikov:
>> you doing it wrong. its all what i see now :)
>>
>> On 16.12.2013 02:17, Hendrik Borghorst wrote:
>>
>>> It is weird if I have to manually optimize something which worked for 2
>>> years on an old Nokia N8 with 128? MB memory. I don't see any reason for
>>> qt to create those delegate items and as I read the documentation of the
>>> qt-project QAbstractListModel is exactly the way to go.
>>>
>>> Also there are cases where manual optimization is far less efficient
>>> than tested optimizations done by compilers or good libraries ;) .
>>>
>>> Am Montag, den 16.12.2013, 02:14 +0600 schrieb Andrey Kozhevnikov:
>>>> no, i mean manual optimization.
>>>>
>>>> like loading model when it actually requires, or dynamically create
>>>> listview with model using component loader or createComponent.
>>>>
>>>> QML is easy and fast when you making small projects. but for complex
>>>> you should thinh HOW code actially works after interpretation.
>>>>
>>>> On 16.12.2013 02:08, Hendrik Borghorst wrote:
>>>>
>>>>> What do you mean exactly?
>>>>>
>>>>> Isn't this exactly what ListView should do automatically which can be
>>>>> influenced with cacheBuffer? Which by the way works correctly as long as
>>>>> the listview stays visible.
>>>>>
>>>>> greetings
>>>>>
>>>>>
>>>>> Am Montag, den 16.12.2013, 02:05 +0600 schrieb Andrey Kozhevnikov:
>>>>>> load model dynamically?
>>>>>>
>>>>>> if you wont preload model before using it can solve many problems.
>>>>>> :)
>>>>>>
>>>>>> On 16.12.2013 02:03, Hendrik Borghorst wrote:
>>>>>>
>>>>>>> Hello,
>>>>>>>
>>>>>>> the problem isn't my delegate. It is quite minimal.
>>>>>>>
>>>>>>> The problem is I think a bug in QML Listview. It goes absolutly crazy if
>>>>>>> it is invisible and starts making delegate for around 50% of all items.
>>>>>>> This causes the memory to run full.
>>>>>>>
>>>>>>> A workaround I added is
>>>>>>>
>>>>>>> model: visible ? modelVar : null
>>>>>>>
>>>>>>> which works quite nicely. I think this bug could be an upstream qt bug?
>>>>>>>
>>>>>>> greetings
>>>>>>>
>>>>>>> Am Sonntag, den 15.12.2013, 10:01 +0100 schrieb
>>>>>>> christopher.lamb at thurweb.ch:
>>>>>>>> Hi Hendrik
>>>>>>>>
>>>>>>>> Have you seen this? http://qt-project.org/wiki/Performance_tip_Lists
>>>>>>>>
>>>>>>>> The general advice is to keep the delegates is lightweight as
>>>>>>>> possible, and to use Loaders for anything needed later (e.g. onClick)
>>>>>>>>
>>>>>>>> Chris
>>>>>>>>
>>>>>>>> Zitat von "Hendrik Borghorst" <hendrikborghorst at gmail.com>:
>>>>>>>>
>>>>>>>>> Hello folks,
>>>>>>>>>
>>>>>>>>> I've got a problem with long lists (~25000 elements). All delegates are
>>>>>>>>> created at once which causes the memory usage to explode beyond the
>>>>>>>>> devices capability.
>>>>>>>>>
>>>>>>>>> I already tried setting "cacheBuffer: 0" in SiliciaListView but  it
>>>>>>>>> doesn't change it.
>>>>>>>>>
>>>>>>>>> Is the something I'm doing wrong.
>>>>>>>>>
>>>>>>>>> You can see the actual page code here:
>>>>>>>>>
>>>>>>>>> https://github.com/djselbeck/smpc/blob/master/pages/CurrentPlaylistPage.qml
>>>>>>>>>
>>>>>>>>> Shouldn't the delegates be constructed on demand? It is weird because my
>>>>>>>>> old n8 wasn't struggling with qml lists with this size.
>>>>>>>>>
>>>>>>>>> greetings and congrats on getting the devices to your customers (I'm
>>>>>>>>> very pleased)
>>>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> SailfishOS.org Devel mailing list
>>>>>> _______________________________________________
>>>>>> SailfishOS.org Devel mailing list
>>>>> _______________________________________________
>>>>> SailfishOS.org Devel mailing list
>>>> _______________________________________________
>>>> SailfishOS.org Devel mailing list
>>>
>>> _______________________________________________
>>> SailfishOS.org Devel mailing list
>> _______________________________________________
>> SailfishOS.org Devel mailing list
>
>
> _______________________________________________
> SailfishOS.org Devel mailing list

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.sailfishos.org/pipermail/devel/attachments/20131216/67be7131/attachment.html>


More information about the Devel mailing list