← Back to team overview

ubuntu-phone team mailing list archive

Re: Running QML functions in parallel thread

 

Oh, I didn't know that. I'll try.


2013/4/16 Rick Spencer <rick.spencer@xxxxxxxxxxxxx>

> Hi.
>
> I'm not sure how your code flows overall, but if you are creating all the
> buttons at once, you might consider using a Repeater instead of doing it
> all in javascript.
>
> It looks like you might have some kind of list that fires a createButton
> signal. You could potentially use that list as a model for a Repeater and
> build your buttons in the delegate of the Repeater.
>
> Cheers, Rick
>
>
>
> On Tue, Apr 16, 2013 at 5:11 AM, Николай Шатохин <n.shatokhin@xxxxxxxxx>wrote:
>
>> This is my code that creates buttons field:
>>
>> onCreateField:
>> {
>>     for(var i=0;i<fieldWidth;i++)
>>     {
>>         for(var j=0;j<fieldHeight;j++)
>>         {
>>             createButton(i, j);
>>         }
>>     }
>> }
>>
>> function createButton(x, y)
>> {
>>     __buttonX = x;
>>     __buttonY = y;
>>
>>     __component = Qt.createComponent("GameButton.qml");
>>
>>     if(__component != null)
>>         continueButtonCreation();
>>     else
>>         __component.ready.connect(continueButtonCreation);
>> }
>>
>> function continueButtonCreation()
>> {
>>     var button = __component.createObject(field, {"row": __buttonY, "column": __buttonX});
>>
>>      if (button == null) {
>>          // Error Handling
>>          console.log("Error creating object");
>>
>>          return;
>>      }
>>
>>      updateValveState.connect(button.stateUpdated);
>>      button.buttonClicked.connect(buttonClicked);
>>
>>      field.clearField.connect(button.release);
>> }
>>
>>
>> fieldWidth = fieldHeight = 16;
>>
>>
>> 2013/4/16 Alex Tyler <alex.tyler@xxxxxxxxxx>
>>
>>> Can we see some code? The only time Images hang for me in QML is when
>>> it's trying to load them synchronously. Try setting asynchronous to true.
>>>
>>> Cheers,
>>> Alex
>>>
>>> On Tue, Apr 16, 2013 at 10:20 AM, <mrqtros@xxxxxxxxx> wrote:
>>>
>>>>  I thought Nick creates 1024 (16x16) buttons, lol =) And even did not
>>>> thought - for what :D
>>>>
>>>> Of course code is extremely bad, if buttons with size 16x16 pixels
>>>> creating slowly.
>>>>
>>>> 16.04.13 12:09 Michael Zanetti написал(а):
>>>>  On Tuesday 16 April 2013 01:01:28 Николай Шатохин wrote:
>>>> > Hello.
>>>> >
>>>> > In my code I'm creating 16x16 buttons in cycle and this take few
>>>> seconds.
>>>> > While function that creating buttons runs, app freezes. I want to show
>>>> > loading animation while this function runs. So, how to run this
>>>> function in
>>>> > parallel thread to avoid freezing?
>>>> >
>>>> > Best regards,
>>>> > Nick
>>>>
>>>>  Creating 16x16 buttons shouldn take a few seconds. Can you paste the
>>>> code
>>>> (also the button itself). To me it seems the issue is somewhere else,
>>>> e.g. in
>>>> the way you create the buttons or the buttens themselves are very slow.
>>>>
>>>>  Br,
>>>> Michael
>>>>
>>>> --
>>>>  Mailing list: https://launchpad.net/~ubuntu-phone
>>>> Post to : ubuntu-phone@xxxxxxxxxxxxxxxxxxx
>>>> Unsubscribe : https://launchpad.net/~ubuntu-phone
>>>> More help : https://launchpad.net/~ubuntu-phone
>>>>
>>>>
>>>>
>>>> --
>>>> Mailing list: https://launchpad.net/~ubuntu-phone
>>>> Post to     : ubuntu-phone@xxxxxxxxxxxxxxxxxxx
>>>> Unsubscribe : https://launchpad.net/~ubuntu-phone
>>>> More help   : https://help.launchpad.net/ListHelp
>>>>
>>>>
>>>
>>
>> --
>> Mailing list: https://launchpad.net/~ubuntu-phone
>> Post to     : ubuntu-phone@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~ubuntu-phone
>> More help   : https://help.launchpad.net/ListHelp
>>
>>
>
> --
> Mailing list: https://launchpad.net/~ubuntu-phone
> Post to     : ubuntu-phone@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~ubuntu-phone
> More help   : https://help.launchpad.net/ListHelp
>
>

Follow ups

References