Setting hidden of lines very slow

Tom Glod tom at makeshyft.com
Sat Dec 1 13:23:24 EST 2018


Can someone explain the seemingly extraordinary performance improvement in
using apparently its "split second" vs "over a minute"

set the hidden of line 1 to - 1 of field 1 to false

vs.

repeat with i = 1 the number of lines of fld 1
      set the hidden of line i of fld 1 to false
end repeat

it doesn't seem like the loop would be the bottleneck here, but rather the
work on the field itself....but obviously, I know nothing about this engine
:D

Thanks,



On Sat, Dec 1, 2018 at 9:40 AM hh via use-livecode <
use-livecode at lists.runrev.com> wrote:

> > Kaveh wrote:
> > I can confirm that the htmltext method works beautifully and blindingly
> fast.
>
> So we have here two methods:
> The htmlText-method and the styledText-method.
>
> There is an interesting result in the speed comparison of the two methods.
>
> Here the htmlText-method is significantly faster with less than at about
> 1500 short lines, between 1500 and 2500 short lines speed is at about the
> same, for more than at about 2500 short lines the styledText-method becomes
> significantly faster.
>
> As LC flattens any nested arrays the styledText-method is probably
> adjustable
> and worth the loop through the runs: styledText experts please come in.
>
> ## HtmlText-method for any colored text chunk in the line.
> on mouseUp
>   put the millisecs into m1
>   lock screen; lock messages
>   set linedelimiter to "<p"
>   put the htmltext of fld 1 into ht
>   replace " hidden" with empty in ht
>   repeat for each line L in ht
>     if offset("color=",L)>0 then put "<p" & L after s
>     else put "<p hidden" & L after s
>  end repeat
>  set htmltext of fld 1 to s
>  put the millisecs-m1 into fld "timing"
> end mouseUp
>
> ## StyledText-method for a whole colorized line.
> put the styledText of field "text" into tTextA
> # loop through paragraphs
> repeat with i = 1 to the number of elements of tTextA
>   # Check if first run has textcolor set
>   put (tTextA[i]["runs"][1]["style"]["textcolor"] is empty) \
>       into tTextA[i]["style"]["hidden"]
>   end if
> end repeat
> set the styledText of fld "text" to tTextA```
>
>
>
> _______________________________________________
> 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