[SailfishDevel] Delegate creation on demand
Andrey Kozhevnikov
coderusinbox at gmail.com
Sun Dec 15 20:14:12 UTC 2013
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.sailfishos.org/pipermail/devel/attachments/20131216/918a9cc4/attachment.html>
More information about the Devel
mailing list