Perhaps I am incorrect here, in that if the engine maintains an index of marked cards, "unmark all cards" can simply empty the index, rather than set a property on each card. But the Transcript Dictionary lists "mark" as a card property; so that leads me to assume "mark [or unmark] all cards" sets the property on each card.
I'd need to do some timing tests to get beyond idle conjecture; but if forced to bet, my money is on mark/unmark all cards touching every card in a stack.
I've just completed a simple timing test:
* Stack with button "Start Test" & field "Test Results"
* Button script:
on mouseUp
answer file "Select the stack:"
if the result is "cancel" then exit mouseUp
put it into targetStack
push card
lock messages
go invisible to card 1 of stack targetStack
put 0 into totalMarkTime
put 0 into totalClearTime
repeat 1000
subtract the ticks from totalMarkTime
mark any card
add the ticks to totalMarkTime
subtract the ticks from totalClearTime
unmark all cards
add the ticks to totalClearTime
end repeat
close stack targetStack
pop card
put (targetStack&":"&return&(the number of cards of targetStack)&& \
"cards"&return&(totalMarkTime/1000)&&(totalClearTime/1000)) into \
field "Test Results"
end mouseUpResults: Cards Mark Unmark
147 .001 0
6177 .112 .079
43046 .677 .635So the time it takes to mark a single card or unmark all cards varies directly with the number of cards in the stack.
--
Rob Cozens CCW, Serendipity Software Company http://www.oenolog.net/who.htm
"And I, which was two fooles, do so grow three; Who are a little wise, the best fooles bee."
from "The Triple Foole" by John Donne (1572-1631) _______________________________________________ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
