I have an output pane on which I want to show a small geometric
animation. The intention is that the user is just watching during
this animation, so there's no need for interactivity.
(FWIW, this is on Windows, but in the long run I'd like to use a
technique that works equally well on Windows and OS X.)
What I'm doing right now is the following:
A) The output pane uses :DRAW-WITH-BUFFER T and is also backed by my
own buffer to which I'm drawing. The display callback essentially
just calls COPY-AREA on (a portion of) my buffer.
B) In a loop I'm updating my buffer, then I call INVALIDATE-RECTANGLE
on my pane and then I wait for about 0.02 seconds using
WAIT-PROCESSING-EVENTS.
This works fine and gives me an animation I'm happy with except that
_sometimes_ it hangs at arbitrary points, i.e. the image freezes for a
few fractions of a second and then the animation continues. From what
I've tried I'm almost 100% percent sure that this is not due to GC. I
rather suspect I'm somehow misusing CAPI or the Windows message pump
by calling INVALIDATE-RECTANGLE too often or doing some other sin I'm
not aware of.
I've also tried to do the whole thing with a timer instead of B)
above, but there the same thing happens.
Any ideas? (And sorry if this is a bit vague...)
Thanks,
Edi.
_______________________________________________
Lisp Hug - the mailing list for LispWorks users
lisp-hug@lispworks.comhttp://www.lispworks.com/support/lisp-hug.html