Game on Arduino using Adaruit 2.8" TFT Shield

This is my first Arduino project. It was going to be simpler, but my cousin donated me his shiny, used Adafruit 2.8" TFT Shield, so I figured I'd start with the one thing I love - game programming.

Currently, I only have an endlessly scrolling background, whose information (bitmap) is read from the SD card and then written to the screen, per pixel. This gets me about 1 frame per 6-7 seconds. At first I thought I'd use PROGMEM as a buffer, but I need 240*320 pixels for each frame. And each pixel has 2 bytes. That's a lot more than my Duemilanove can give.

So, if I want to use bitmaps, I have to access the SD card for the required information.

I want to know how I can optimize my rendering method so I get something playable. How can I change the SD card access method or the data writing method to the screen to make it faster? Or is using bitmaps for the whole thing overly ambitious, and I should stick with a few tiles and a few character frames hard-coded into PROGMEM?

Id say it depends on how much moves on ur game, even drawing a plain color to the screen takes a while
im not sure if its because of the arduino or the screen driver, but I imagine the library could use some optimization using direct port access instead of digitalwrite if your up for the challenge

This is the kind of project where the 4D displays become worth the extra money. They have a dedicated on board chip that communitcates directly with the display via parallel. They can produce full video at about 15 FPS. They actually make a game controller thing but I think it only has a 128x128 display on it. It is still cool because it has all the buttone built in like a hand held gaming system.

You can use 4D's IDE to program the onboard chip directly and it serves as a uProcessor or use an external processor and communicate via serial with the 4D chip. It depends on which firmware you upload to the chip.

http://www.4dsystems.com.au/