Animated Gifs - Keep them Running

classic Classic list List threaded Threaded
13 messages Options
Reply | Threaded
Open this post in threaded view
|

Animated Gifs - Keep them Running

Richard Gaskin via use-livecode
I switched from the mobileIndicator to installing an animated gif for Loading. This way I have control over the load process and can let users bail out.

It is a lovely gif, but it "hangs" when the processor on phone is doing something else. It there are way to keep it's frames "circling" until get we get a good download and dismiss it / vis is false?

br





_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Animated Gifs - Keep them Running

Richard Gaskin via use-livecode
Sannyasin Brahmanathaswami wrote:

 > I switched from the mobileIndicator to installing an animated gif for
 > Loading. This way I have control over the load process and can let
 > users bail out.
 >
 > It is a lovely gif, but it "hangs" when the processor on phone is
 > doing something else. It there are way to keep it's frames "circling"
 > until get we get a good download and dismiss it / vis is false?


http://lists.runrev.com/pipermail/use-livecode/2019-December/257512.html

--
  Richard Gaskin
  Fourth World Systems
  Software Design and Development for the Desktop, Mobile, and the Web
  ____________________________________________________________________
  [hidden email]                http://www.FourthWorld.com

_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Animated Gifs - Keep them Running

Richard Gaskin via use-livecode
I read and agree. I think certain tasks ought to have independent threads separate from the code engine. That shouldn't be too hard to implement, and those tasks would not need to communicate with the main thread, since they are essentially utilitarian in nature.

Bob S


> On Dec 10, 2019, at 20:57 , Richard Gaskin via use-livecode <[hidden email]> wrote:
>
> Sannyasin Brahmanathaswami wrote:
>
> > I switched from the mobileIndicator to installing an animated gif for
> > Loading. This way I have control over the load process and can let
> > users bail out.
> >
> > It is a lovely gif, but it "hangs" when the processor on phone is
> > doing something else. It there are way to keep it's frames "circling"
> > until get we get a good download and dismiss it / vis is false?
>
>
> http://lists.runrev.com/pipermail/use-livecode/2019-December/257512.html
>
> --
> Richard Gaskin
> Fourth World Systems
> Software Design and Development for the Desktop, Mobile, and the Web


_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Animated Gifs - Keep them Running

Richard Gaskin via use-livecode
In reply to this post by Richard Gaskin via use-livecode
Hmmm. "Indeed, without even the option of threaded GIF playback, it isn't possible to
make a progress indicator that doesn't affect overall performance, in
addition to having disturbingly jerky appearance."

Yes, I suspected the "LC - Single thread" issue. at least the mobileIndicator while "ugly" runs smoothly as expected.

> It is a lovely gif, but it "hangs" when the processor on phone is
> doing something else. It there are way to keep it's frames "circling"
> until get we get a good download and dismiss it / vis is false?


http://lists.runrev.com/pipermail/use-livecode/2019-December/257512.html

--
  Richard Gaskin
_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Animated Gifs - Keep them Running

Richard Gaskin via use-livecode
Presumably you mean the mobileBusyIndicator.

On 12.12.19 19:38, Sannyasin Brahmanathaswami via use-livecode wrote:

> Hmmm. "Indeed, without even the option of threaded GIF playback, it isn't possible to
> make a progress indicator that doesn't affect overall performance, in
> addition to having disturbingly jerky appearance."
>
> Yes, I suspected the "LC - Single thread" issue. at least the mobileIndicator while "ugly" runs smoothly as expected.
>
>> It is a lovely gif, but it "hangs" when the processor on phone is
>> doing something else. It there are way to keep it's frames "circling"
>> until get we get a good download and dismiss it / vis is false?
>
> http://lists.runrev.com/pipermail/use-livecode/2019-December/257512.html
>
> --
>    Richard Gaskin
> _______________________________________________
> use-livecode mailing list
> [hidden email]
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode


_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Animated Gifs - Keep them Running

Richard Gaskin via use-livecode
In reply to this post by Richard Gaskin via use-livecode
If you can convert the gif into a series of SVG images you could,
possibly, import them into a widget.

Richmond.

On 12.12.19 19:38, Sannyasin Brahmanathaswami via use-livecode wrote:

> Hmmm. "Indeed, without even the option of threaded GIF playback, it isn't possible to
> make a progress indicator that doesn't affect overall performance, in
> addition to having disturbingly jerky appearance."
>
> Yes, I suspected the "LC - Single thread" issue. at least the mobileIndicator while "ugly" runs smoothly as expected.
>
>> It is a lovely gif, but it "hangs" when the processor on phone is
>> doing something else. It there are way to keep it's frames "circling"
>> until get we get a good download and dismiss it / vis is false?
>
> http://lists.runrev.com/pipermail/use-livecode/2019-December/257512.html
>
> --
>    Richard Gaskin
> _______________________________________________
> use-livecode mailing list
> [hidden email]
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode


_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Animated Gifs - Keep them Running

Richard Gaskin via use-livecode
Does the SVG widget run in a separate thread?

--
  Richard Gaskin
  Fourth World Systems

Richmond wrote:

> If you can convert the gif into a series of SVG images you could,
> possibly, import them into a widget.
>
> Richmond.
>
> On 12.12.19 19:38, Sannyasin Brahmanathaswami via use-livecode wrote:
>> Hmmm. "Indeed, without even the option of threaded GIF playback, it isn't possible to
>> make a progress indicator that doesn't affect overall performance, in
>> addition to having disturbingly jerky appearance."
>>
>> Yes, I suspected the "LC - Single thread" issue. at least the mobileIndicator while "ugly" runs smoothly as expected.
>>
>>> It is a lovely gif, but it "hangs" when the processor on phone is
>>> doing something else. It there are way to keep it's frames "circling"
>>> until get we get a good download and dismiss it / vis is false?
>>
>> http://lists.runrev.com/pipermail/use-livecode/2019-December/257512.html
>>
>> --
>>    Richard Gaskin


_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Animated Gifs - Keep them Running

Richard Gaskin via use-livecode
In reply to this post by Richard Gaskin via use-livecode
@BR

Don't run the gif as animation but do your own animation
by setting the (or some) frames using "send in time".
By that you can control better the "animation".

Using a widget for that is significantly slower (takes more
CPU) than LCS with such animations.


_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Animated Gifs - Keep them Running

Richard Gaskin via use-livecode
RG....i rotate an svg using send it time and it seems to work really well.
i can rotate many svgs simultaneously....so maybe svg is the answer
here....as far as a progress indicator.

On Thu, Dec 12, 2019 at 5:47 PM hh via use-livecode <
[hidden email]> wrote:

> @BR
>
> Don't run the gif as animation but do your own animation
> by setting the (or some) frames using "send in time".
> By that you can control better the "animation".
>
> Using a widget for that is significantly slower (takes more
> CPU) than LCS with such animations.
>
>
> _______________________________________________
> use-livecode mailing list
> [hidden email]
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>


--
Tom Glod
Founder & Developer
MakeShyft R.D.A (www.makeshyft.com)
Office:226-706-9339
Mobile:226-706-9793
_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Animated Gifs - Keep them Running

Richard Gaskin via use-livecode
@richard: I don't think *anything* including widget, run in a different thread on LC

@HH and Tom

Great idea!  (using send)

----------  aside
fyi dictionary is confused:

 rotate:  
OS mac, windows, linux
Platforms desktop, server, mobile

It should say, (hopefully) iOS and Android..whatever..
-----------
I assume you can make an independent handler for each svg…or GIF and send in time… how much time do you give? Do you set flags like AnimationEngine? I found them problematic if we use repeat loops on mobile. (can't break a looping repeat if by (un)setting a flag) @tom can you send a snippet of you code? Because you have worked out the kinks.   I imagine something like this,

local sRotateFlag   # 1 or 0

command startSpinner
        put 1 into sRotateFlag
        show widget "spinner"
        rotateBusySpinner
end startSpinner

command stopSpinner
        put 0 into sRotateSpinner
        hide widget "spinner"
command stopSpinner

command rotateBusySpinner
        if sRotateFlag = 1 then
                  rotate widget "spinner" by -10
        end if
        send rotateBusySpinner to me in 10  millisecond
end rotateBusySpinner

I suppose you can use an array to poke image names, to set them several going an once. How are you doing that?

I really don't know how much the CPU for engine on mobile can take before you see performance issues. What is the  minimum time "idle" time where you poke a "send" before you interfere with the engine on mobile:   rotate 10 millisecond, 200 milliseconds? Of course I can try it …. my Moto6 is good "middle" ground between high end android cpu and low end

BR


.i rotate an svg using send it time and it seems to work really well.
i can rotate many sgs simultaneously....so maybe svg is the answer
here....as far as a progress indicator.

On Thu, Dec 12, 2019 at 5:47 PM hh via use-livecode <
mailto:[hidden email]> wrote:

> @BR
>
> Don't run the gif as animation but do your own animation
> by setting the (or some) frames using "send in time".
> By that you can control better the "animation".

_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Animated Gifs - Keep them Running

Richard Gaskin via use-livecode
Hi Swami,

> Am 13.12.2019 um 17:28 schrieb Sannyasin Brahmanathaswami via use-livecode <[hidden email]>:
> ...
> ----------  aside
> fyi dictionary is confused:
> rotate:  
> OS mac, windows, linux
> Platforms desktop, server, mobile

ROTATE is for IMAGE editing only and maybe lossy in that case!

You should use:
-> SET THE ANGLE of widget xyz to N
just like with images you want to "rotate".


Best

Klaus
--
Klaus Major
https://www.major-k.de
[hidden email]


_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Animated Gifs - Keep them Running

Richard Gaskin via use-livecode
Ahh.. good catch!

You should use:
-> SET THE ANGLE of widget xyz to N
just like with images you want to "rotate".
_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Animated Gifs - Keep them Running

Richard Gaskin via use-livecode
In reply to this post by Richard Gaskin via use-livecode
Tom Glod wrote:

 > RG....i rotate an svg using send it time and it seems to work really
 > well.
 > i can rotate many svgs simultaneously....so maybe svg is the answer
 > here....as far as a progress indicator.

It's surprising that the vector rendering of SVG is noticeably faster
for multi-frame animation than a straight blit-to-screen from GIF, but
rendering time isn't the main problem with progress indicators.

Without a separate thread for a progress indicator, it's bound to the
same thread doing the task whose progress is being displayed.

When the task happens to have steps whose increments are equivalent, it
can work well enough.  But many tasks have steps where it's difficult or
impossible to know in advance just how long a given task will take,
resulting in jerky motion of the indicator animation.

See the LC Standalone Building dialog as an example.  For some of the
time it rotates smoothly, other times it freezes for a bit while a step
finishes, not at all like the smooth motion of OS-supplied progress
indicators, which run in their own thread.

--
  Richard Gaskin
  Fourth World Systems
  Software Design and Development for the Desktop, Mobile, and the Web
  ____________________________________________________________________
  [hidden email]                http://www.FourthWorld.com


_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode