Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucbvax!STONY-BROOK.SCRC.SYMBOLICS.COM!jrd From: jrd@STONY-BROOK.SCRC.SYMBOLICS.COM (John R. Dunning) Newsgroups: comp.sys.atari.st Subject: Flicker Message-ID: <19890702230805.1.JRD@MOA.SCRC.Symbolics.COM> Date: 2 Jul 89 23:08:00 GMT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet Lines: 24 I wrote a little hack (for viewing GIF files) that keeps a large image in memory, and bitblt's portions of it to the real screen memory. Which part of the image gets blt'ed depends on mouse coordinates, ie by waving the mouse around, you can move the screen around on the image. All this stuff works fine, but for one problem: there's a fair amount of hash displayed while the image is moving. Needless to say, it's somewhat difficult to see exactly what's hashed, as it flickers quite a bit; my uncalibrated eyeballs tell me it persists for no more than one scan of the screen, but that might not be right. The size of the transfer is screen-size; ie 320 * 200 * 4 bits, or 32000 bytes. I'm running on a Mega-4, with a blitter. I expected the blitter to be able to do things faster than it appears to be doing; even assuming that it's only doing 16 bits at a time, and that each 16-bit thing takes 250 nanosec (125 for read and 125 for write), that's still only .008 seconds, considerably less than one screen refresh time. I've tried sticking Vsync()'s in strategic places, but it seems to make no difference. What am I missing? Am I assuming that the blitter's faster than it is? Is my arithmetic off? Does Vsync not do what I thought it did? Is there something else going on that I don't know about? Any ideas/hints appreciated.