gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

Hardware > Is the GBA screen update interlaced?

#2300 - regularkid - Sat Feb 01, 2003 7:20 pm

If so, does that mean its impossible to get rid of the flickering that occurs when you update VRAM every frame?
_________________
- RegularKid

#2301 - tepples - Sat Feb 01, 2003 7:40 pm

The proper way to get rid of flicker in an overdraw-based software rendering system is to use a double buffer, either 1) to use the double-buffer in mode 4 or mode 5 or 2) to stretch mode 3 by a factor of 2 (BGAFFINE[2].pa = 0x0080) and then scroll it by 120 pixels every other frame.

If you're thinking about using half the scanlines as a back buffer for 60fps rendering (as was done in Tobal No. 1 and Ehrgeiz for PlayStation), that won't work on the GBA. For one thing, you're probably not going to get a good enough fill rate with 19200 pixels (half the screen) and 280896 cycles per frame[1]. For another, the GBA draws all scanlines every frame, but some scanlines are darkened[2] for faster LCD response. Finally, unlike on the Super NES and the PS1, there's no register on the GBA to tell what's an even frame and what's an odd frame.

[1] That is unless you're doing some sort of video decoding with hardware on the cartridge and DMAing pixels to VRAM at multimegabytes per second. Add-ons such as TV tuners and cameras do this.

[2] In even frames, the GBA darkens even scanlines and lightens odd scanlines. In odd frames, the GBA lightens even scanlines and darkens odd scanlines.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#2315 - regularkid - Sun Feb 02, 2003 12:25 am

Ok, cool. You answered my question: I just wanted to know if the gba drew every scanline per frame. Thanks! Maybe its just because I'm moving my stuff too fast on the screen but it seems like I can still see a lighter version of my last frame sometimes. Like, if I move a sprite very quickly accross the screen, I can see a little "trail" of the sprite behind it. Maybe just eyes playing tricks on me? Thanks again for the answer.
_________________
- RegularKid

#2352 - ampz - Sun Feb 02, 2003 11:21 am

Color LCD's are slow by nature.. That's problably why you see a "trail"