[comp.sys.sgi] swapbuffers

mmoore@saturn.ucsc.edu (Matthew Moore) (08/23/88)

 We have an IRIS 4D-50GT. We have some large application programs that we
ported up from the 3000's, and many of them open and control multiple windows
from a single process. Our problem is that the windows are opened in double
buffer mode, drawn into, and swapped. On the 4D you have to call swapbuffers()
for each window individually, and this hangs the calling process until the
next Vsync interval. Thus our programs are running much slower on the 4D than
they did on the 3000 (at least for simple window contents) because it takes
a minimum of n full-screen times to update the n windows being controlled by
a single process, even if very little time is spent drawing into each window.

 A long-term solution would be to have a seperate process responsible for each
window, but this would increase the overhead from process switching and the
maintenance of the concurrent environment. Besides which, these are rather
large programs and we would like to use them pretty much as is. Is there any
way to issue a non-blocking swapbuffers() call? Or any way to have a single
process update several double-buffered windows and then go back and swap them
all in the same Vsync interval? Or does anyone have another way around this?

					thanks;
					matt moore
					U Cal Santa Cruz
					(408)-429-2565
					mmoore@saturn.ucsc.edu	      (Arpanet)
					{wherever}!ucbvax!ucscc.ucsc.edu!
					    saturn.ucsc.edu!mmoore    (UUCP)