here is the CLOCKFACE script...coded in 3 MINUTES...17 LINES of CODE

Dennis Brown see3d at writeme.com
Tue May 31 12:59:26 EDT 2005


I updated my clock and tested the cpu time again.  I must have  
slipped a tick or something, because now I get 1.5% cpu with the  
simple script and 0.8% cpu with my time saving script.  Much more  
like I though it should be.  I am happy with either one, so I put  
both scripts in the clock in my user space.

Dennis

on openCard
   setTime2 --set to which script to run
end openCard

on setTime1 --this is the simplest script (1.5%)
   --put the long seconds into ST
   put word 1 of the long time into T --8:13:15
   put T into fld "Time" --8:13:15.000
   split T using ":" --make array of the 3 numbers
   set the angle of grc "Hour" to 360+90-(30*T[1]) - trunc(T[2]/2) -- 
angles in even degrees
   set the angle of grc "Minute" to 360+90-(6*T[2]) - trunc(T[3]/10)
   set the angle of grc "Second" to 360+90 - 6*T[3]
   send "setTime1" to me in 1-(the long seconds mod 1) seconds --time  
left to next second
   --put (((the long seconds)-ST)*100)&"% cpu"
end setTime1

on setTime2 --this script uses less CPU time (0.8%)
   --put the long seconds into ST
   put word 1 of the long time into T --8:13:15
   put T into fld "Time" --8:13:15.000
   split T using ":" --make array of the 3 numbers
   get 360+90-(30*T[1]) - trunc(T[2]/2) --angle of the hour "hand"
   if (the angle of grc "Hour") <> it then set the angle of grc  
"Hour" to it
   get 360+90-(6*T[2]) - trunc(T[3]/10) --angle of the minute "hand"
   if (the angle of grc "Minute") <> it then set the angle of grc  
"Minute" to it
   set the angle of grc "Second" to 360+90 - 6*T[3]
   send "setTime2" to me in 1-(the long seconds mod 1) seconds --time  
left to next second
   --put (((the long seconds)-ST)*100)&"% cpu"
end setTime2


On May 31, 2005, at 10:12 AM, Geoff Canyon wrote:

> On May 31, 2005, at 6:05 AM, Dennis Brown wrote:
>
>
>> I can't say that I would make the tradeoff of the extra lines of  
>> code for a few microseconds, but I really like the split idea --it  
>> shows another concept in a simple way and makes the script look  
>> even simpler.  I updated my clock with it.  Good thinking!
>>
>
> I agree that the tradeoff is of arguable benefit. Having to use  
> local variables is another drawback in favor of just comparing to  
> the startAngle. Using local variables is habit because I end up in  
> this situation with text in a field much more often than with the  
> startAngle of a graphic. Text in a field is much slower in  
> comparison -- the startAngle is acceptably fast.
>
> Thanks re: the split command. I don't remember when that first  
> occurred to me, but I was pretty pleased with myself that day too ;-)
>
> _______________________________________________
> use-revolution mailing list
> use-revolution at lists.runrev.com
> http://lists.runrev.com/mailman/listinfo/use-revolution
>



More information about the use-livecode mailing list