DMDX Help.
Abort Display Queue Purge Keyword
<AbortDQPurge [N]>
MDSP bit 40000000 modifier,
when active an
<AbortItemExpression> will
discard any pending frames in the display as well as the usual abort item sorts
of things.
When
<AbortDQPurge> is active the
<AbortItemExpression>
will be checked constantly (which is probably going to present some extra
load on the machine) and if it tests true the display queue is purged.
This is a risky proposition, DMDX was designed on the explicit assumption that
the display queue would always play out as intended. Instead I've
added logic that looks for the obvious things I can think of that might need to
be done if the display queue is purged before it executes -- however I'm not likely to be able to
predict all the things that can go wrong so use of this keyword is very much
caveat emptor. Such things include triggering the clock logic as soon as
the frame that had the clock on in it is purged and setting the animation
flag so that all screen surfaces are redrawn in the current background (which
can take a good chunk of time and means you can't have persistent displays
across items). Side effects include "Expected flips and actual flips out
of synch!" errors in the display log when an item's display queue is purged.
What
<AbortDQPurge> allows is the
latter examples in the
<ContinueClockOn>
documentation to be coded with substantially less baggage -- the trade off being
possibly less stability (only time will tell):.
<ep> f60 <ID "keyboard"> <cr><vm 800,600,600,16,60> <t 4000>
<abortdqpurge> <aie jobstatus .eq. 7> <eop>
0 "Press SPACE to BEGIN";
+1 "3" <co> / "2" / "1" / "0" ;
+10 "3" <co> / "2" / "1" / "0" ;
0 "the end";
<ep> <nfb> <f 30> <cr>
<vm desktop> <id keyboard> <abortdqpurge> <aie jobstatus .eq. 7> <eop>
0 "Press SPACE to BEGIN";
200 "instruction" %53 / !;
+201 "photo" %600 / * @-1 "weak strong" , "- " /
"weak strong" , "-- " /
"weak strong" , "---- " /
"weak strong" , "------ " /
"weak strong" , "-------- " /
"weak strong" , "---------- " /
"weak strong" , "------------- " /
"weak strong" , "----------------" / !;
290 %233 "relax" /!;
300 "instruction" %53 / !;
+301 "photo" %600 / * @-1 "weak strong" , "- " /
"weak strong" , "-- " /
"weak strong" , "---- " /
"weak strong" , "------ " /
"weak strong" , "-------- " /
"weak strong" , "---------- " /
"weak strong" , "------------- " /
"weak strong" , "----------------" / !;
290 %233 "relax" /!;
0 "the end";
DMDX Index.