acceleratedRendering scope

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

acceleratedRendering scope

J. Landman Gay via use-livecode
Hi all.

Since acceleratedRendering is a stack property, does it only apply to a given stack, and not, for example to a sub stack? What would the advantage be of having it off? If none, why even have it?

Bob S



_______________________________________________
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: acceleratedRendering scope

J. Landman Gay via use-livecode
I meant to say, why not just have it on permanently?

Bob S


> On Aug 21, 2017, at 09:41 , Bob Sneidar via use-livecode <[hidden email]> wrote:
>
> Hi all.
>
> Since acceleratedRendering is a stack property, does it only apply to a given stack, and not, for example to a sub stack? What would the advantage be of having it off? If none, why even have it?
>
> Bob S


_______________________________________________
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: acceleratedRendering scope

J. Landman Gay via use-livecode
Hi Bob- I can report that accelerated rendering "steals" resources from the browser widget. I have to turn it off when displaying a 3D map in the browser widget, then turn it back on for scrolling groups. Otherwise, the map renders in a very clunky way, with large sections very distorted.

It has to do with overstressing the GPU.

Sent from my iPhone

> On Aug 21, 2017, at 12:43 PM, Bob Sneidar via use-livecode <[hidden email]> wrote:
>
> I meant to say, why not just have it on permanently?
>
> Bob S
>
>
>> On Aug 21, 2017, at 09:41 , Bob Sneidar via use-livecode <[hidden email]> wrote:
>>
>> Hi all.
>>
>> Since acceleratedRendering is a stack property, does it only apply to a given stack, and not, for example to a sub stack? What would the advantage be of having it off? If none, why even have it?
>>
>> Bob S
>
>
> _______________________________________________
> 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: acceleratedRendering scope

J. Landman Gay via use-livecode
In reply to this post by J. Landman Gay via use-livecode
On 2017-08-21 18:41, Bob Sneidar via use-livecode wrote:
> Hi all.
>
> Since acceleratedRendering is a stack property, does it only apply to
> a given stack, and not, for example to a sub stack? What would the
> advantage be of having it off? If none, why even have it?

It is per stack, and not inherited.

Whether you get a benefit or not from acceleratedRendering depends on
your stack. If you don't set the layerMode property on anything, then it
will generally cause a slight performance penalty (although this perhaps
needs more direct measurement to compare - particularly between desktop
and mobile which are very different graphics performance wise).

The benefits of acceleratedRendering come out when you aren't changing
how any object looks that often, and you have a lot of objects moving -
or, indeed, when you are moving large objects around, but not changing
very much of them as you do so.

So, for example, if you emulating visual effects by moving large
controls around periodically you might well find you get a better
framerate (particularly on mobile) by turning accelRendering on, setting
the layerMode of just the moving controls to dynamic, then turning it
off again.

If you are doing a game with lots of moving objects, then you will
pretty much always gain advantage from making all the moving object's
layerMode dynamic; and leaving the scenery / HUD type things as static.

Warmest Regards,

Mark.

--
Mark Waddingham ~ [hidden email] ~ http://www.livecode.com/
LiveCode: Everyone can create apps

_______________________________________________
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: acceleratedRendering scope

J. Landman Gay via use-livecode
In reply to this post by J. Landman Gay via use-livecode
On 2017-08-21 18:51, Jonathan Lynch via use-livecode wrote:
> Hi Bob- I can report that accelerated rendering "steals" resources
> from the browser widget. I have to turn it off when displaying a 3D
> map in the browser widget, then turn it back on for scrolling groups.
> Otherwise, the map renders in a very clunky way, with large sections
> very distorted.

Is this on iOS or Android or both?

I'm not sure that's to do with any resource stealing - it's more to do
with the fact that the mobile OSes don't like mixing OpenGL based views
with non-OpenGL based views generally. You can limit the amount of
texture RAM accelRendering uses by setting the compositorCacheLimit (I
think that's the right property) which is the maximum number of bytes
the engine will use for the cache of tiles at any one time.

On iOS, in particular, putting a normal UIKit view (which the browser
widget is) on top of an OpenGL view (which accel render mode uses) tends
to make the OS not that happy. Of course, this might entirely depend on
device too!

Warmest Regards,

Mark.

--
Mark Waddingham ~ [hidden email] ~ http://www.livecode.com/
LiveCode: Everyone can create apps

_______________________________________________
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: acceleratedRendering scope

J. Landman Gay via use-livecode
It is on iOS. Turning it on and off as needed has worked perfectly, so it is no problem. Thanks for explaining!

Sent from my iPhone

> On Aug 21, 2017, at 12:54 PM, Mark Waddingham via use-livecode <[hidden email]> wrote:
>
>> On 2017-08-21 18:51, Jonathan Lynch via use-livecode wrote:
>> Hi Bob- I can report that accelerated rendering "steals" resources
>> from the browser widget. I have to turn it off when displaying a 3D
>> map in the browser widget, then turn it back on for scrolling groups.
>> Otherwise, the map renders in a very clunky way, with large sections
>> very distorted.
>
> Is this on iOS or Android or both?
>
> I'm not sure that's to do with any resource stealing - it's more to do with the fact that the mobile OSes don't like mixing OpenGL based views with non-OpenGL based views generally. You can limit the amount of texture RAM accelRendering uses by setting the compositorCacheLimit (I think that's the right property) which is the maximum number of bytes the engine will use for the cache of tiles at any one time.
>
> On iOS, in particular, putting a normal UIKit view (which the browser widget is) on top of an OpenGL view (which accel render mode uses) tends to make the OS not that happy. Of course, this might entirely depend on device too!
>
> Warmest Regards,
>
> Mark.
>
> --
> Mark Waddingham ~ [hidden email] ~ http://www.livecode.com/
> LiveCode: Everyone can create apps
>
> _______________________________________________
> 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: acceleratedRendering scope

J. Landman Gay via use-livecode
On 2017-08-21 19:13, Jonathan Lynch via use-livecode wrote:
> It is on iOS. Turning it on and off as needed has worked perfectly, so
> it is no problem. Thanks for explaining!

Okay - so obviously it hasn't 'got any better' since iOS4 which was when
we added acceleratedRendering mode... This is slightly irksome! I do
wonder if there must be a better way of doing what we need to do these
days on iOS though - after all iOS has things like SpriteKit which
(IIRC) work in a UIView, and I'd be surprised if they accepted there
being issues if SpriteKit views were mixed in with normal UIKit views.

Warmest Regards,

Mark.

--
Mark Waddingham ~ [hidden email] ~ http://www.livecode.com/
LiveCode: Everyone can create apps

_______________________________________________
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