Pinboard Flashing?
Ughhh.... The flashing with CAPI pinboard updates is almost intolerable on Win/XP.I have tried several approaches...
1. Use :draw-pinboard-objects :BUFFERÂ -- that causes tons of transient mouse droppings as the buffering appears to try to perform updates on a non-interfering, best effort, basis. Dragging large regions of graphics about on the screen causes the updates to abort partway through until the dragging ceases, and then it can catch up. Result is slowly vanishing trails of partial rewrites of old images along the drag path. NG.
2. Use :draw-pinboard-objects T -- no buffering. Horrible, and very slow.
3. Use :draw-pinboard-objects T with my own offscreen buffering in a pixmap port, and writing my own display callback to blit the results to the screen. That performs best of all, very rapid, but the final problem outstanding is that CAPI insists on clearing the screen over the damaged rectangles accumulated from invalidate calls, before it permits me to blit pixels from my backing store to the screen port.
Option 3 appears best of all, but does anyone know how to prevent CAPI from performing gratuitous screen clears ahead of the call to the display callback?
I could write my own invalidate routines to do the bookkeeping on what regions need updating. Perhaps the only solution is to do this, and to call gp:invalidate-rectangle on some region out of sight so that no flashing occurs? Not sure yet, whether CAPI would honor a damage update anywhere outside of the visible portrect.
Anyone??
David McClain
Chief Technical Officer
Refined Audiometrics Laboratory
4391 N. Camino Ferreo
Tucson, AZÂ 85750
email: dbm@refined-audiometrics.com
phone: 1.520.390.3995