still trying things…since I have multiple GLCanvas objects is there any way to “slave” all of the swapbuffer operations to occur at the same time???
Each GLCanvas instance on screen must have its buffer swapped whenever it’s necessary to move the rendered pixels onto the visible canvas. That’s the whole point of double-buffering (and you don’t want single buffering). However, if all of your canvas’s are in fact rectangles forming a single rectangle, you can get away with one GLCanvas spanning the entire area needing rendering. Then use the glViewport and glScissor OpenGL commands to set up the renderable area and that should be sufficient to configure usable viewports. If these canvases need to be in multiple windows, then each window will need its own GLCanvas.
If you do end up with several GLCanvases, you should be able to slave them to the same Animator or whatever else causes display to happen, so that they go in a nice orderly sequence rather than fighting with each other.