acceleratedRendering is my friend

Chris Sheffield cmsheffield at me.com
Thu Jun 28 16:30:25 EDT 2012


I just checked this in LC 5.5.1 to make sure, and there is still a bug that exists where the screen will flash when toggling acceleratedRendering if you're moving from card to card using a visual effect. A ticket has already been submitted. The way around it is to set the property in a handler, and then "send" that handler.

Just thought I'd share in case anyone else runs into this. :-)

Chris


--
Chris Sheffield
Read Naturally, Inc.
www.readnaturally.com



On Jun 28, 2012, at 2:11 PM, Chipp Walters <chipp at chipp.com> wrote:

> Just wanted to share a couple other key points Tom and I discussed after
> lunch today:
> 
> The object of the control you are setting the dynamic or scrolling property
> of MUST be a toplevel control. IOW, the *parent* of the control MUST be the
> card. So, you can't accelerate objects within groups, but rather the group
> itself. Consequently, you don't set properties of any objects in groups.
> You can use the property inspector for the control and it will "stick" and
> you don't need to set it again.
> 
> Use the preOpenCard handler to manage acceleration (turn on and then off on
> closeCard) on a per card basis, so as to conserve memory. You don't want a
> lot of images cached from different cards clogging up memory!
> 
> As mentioned, the three property values are static, scrolling and dynamic.
> Everything by default is static. Sprites or any items who are not hidden by
> the rect of a group are dynamic. Groups and included controls are scrolling
> (just set the group, not the controls within the group).
> 
> HTH
> 
> On Thursday, June 28, 2012, Matthias Rebbe wrote:
> 
>> Hi Tom,
>> 
>> thanks for sharing this with us.
>> 
>>>>> . Immediately before moving an object turn on dynamic or when
>> scrolling a group turn on scrolling
>>>>> once moving the scroll or object has already been cached and drawn so
>> these are no longer necessary. No need to turn these things on and leave
>> them on because they are not needed and the result is that things will
>> actually slow down.
>> 
>> What do you mean with that? Lets say i have a card, where several obejcts
>> in a group shall be scrolled. At the moment i do the complete scroller
>> stufff (creating the scroller and so on) in the open card handler.  Is this
>> the right way. Or what do you mean with "immediately before
>> moving/scrolling?
>> 
>> Regards,
>> 
>> Matthias
>> 
>> 
>> Am 28.06.2012 um 06:31 schrieb Thomas McGrath III:
>> 
>>> From what Mark said the preopencard is the place to do it and I have not
>> seen any flashing in 5.5.1
>>> 
>>> -- Tom McGrath III
>>> http://lazyriver.on-rev.com
>>> 3mcgrath at comcast.net
>>> 
>>> On Jun 27, 2012, at 2:27 PM, Chris Sheffield wrote:
>>> 
>>>> Tom,
>>>> 
>>>> Thanks for the info. Very useful.
>>>> 
>>>> I haven't actually tried any of this yet, but is there still a problem
>> where the screen flashes when toggling acceleratedRendering on/off in
>> preOpenCard and closeCard? I was seeing this a couple months back, so I'm
>> curious if that still exists. I haven't tried it with LC 5.5.1. It may only
>> happen when moving from card to card using a visual effect.
>>>> 
>>>> Thanks,
>>>> Chris
>>>> 
>>>> 
>>>> On Jun 27, 2012, at 9:57 AM, Thomas McGrath III <mcgrath3 at mac.com>
>> wrote:
>>>> 
>>>>> After sitting with Mark W. for an hour over lunch yesterday I was able
>> to both understand the role of acceleratedRendering and the best usage of
>> it. It turns out that the order of when these commands are used is of
>> utmost importance. I have been rewriting my code and have an instant
>> increase in responsiveness in my scrolling groups.
>>>>> 
>>>>> In a nut shell:
>>>>> 1. on preopenCard - set the acceleratedRendering of this stack to true
>> (only on cards that ave scrolling or dynamic groups/objects
>>>>> 2. Immediately before moving an object turn on dynamic or when
>> scrolling a group turn on scrolling
>>>>> once moving the scroll or object has already been cached and drawn so
>> these are no longer necessary. No need to turn these things on and leave
>> them on because they are not needed and the result is that things will
>> actually slow down.
>>>>> 3. Immediately after moving or scrolling an object turn off the
>> scrolling or dynamic settings
>>>>> 4. on closeCard - set the acceleratedRendering of this stack to false
>> (turn it off since it is not needed)
>>>>> 
>>>>> 
>>>>> This simple approach seems so obvious now and has immediate results.
>>>>> 
>>>>> The other thing that Ben and Mark showed me was that having large
>> scrolling groups of object is much much much faster than using visual
>> effects and switching cards.
>>>>> 
>>>>> More as I grok this….
>>>>> 
>>>>> -- Tom McGrath III
>>>>> http://lazyriver.on-rev.com
>>>>> 3mcgrath at comcast.net
>>>>> 
>>>>> 
>>>>> _______________________________________________
>>>>> use-livecode mailing list
>>>>> use-livecode at lists.runrev.com
>>>>> Please visit this url to subscribe, unsubscribe and manage your
>> subscription preferences:
>>>>> http://lists.runrev.com/mailman/listinfo/use-livecode
>>>> 
>>>> 
>>>> _______________________________________________
>>>> use-livecode mailing list
>>>> use-livecode at lists.runrev.com
>>>> Please visit this url to subscribe, unsubscribe and manage your
>> subscription preferences:
>>>> http://lists.runrev.com/mailman/listinfo/use-livecode
>>> 
>>> 
>>> _______________________________________________
>>> use-livecode mailing list
>>> use-livecode at lists.runrev.com
>>> Please visit this url to subscribe, unsubscribe and manage your
>> subscription preferences:
>>> http://lists.runrev.com/mailman/listinfo/use-livecode
>> 
>> 
>> _______________________________________________
>> use-livecode mailing list
>> use-livecode at lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your
>> subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
>> 
> 
> 
> -- 
> Chipp Walters
> CEO, Altuit, Inc.
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode





More information about the Use-livecode mailing list