On a modern PC, this is no problem at all. 

We are actually doing this with a 1920 x 1080 x 32-bit bitmap, at 60 FPS, on a 2-year old PC

You can easily test your GPU <-> CPU bandwidth using this tool:
http://sourceforge.net/projects/gpubench


On Fri, Sep 17, 2010 at 7:53 PM, Lie Ryan <lie.1296@gmail.com> wrote:
On 07/30/10 03:37, Nick Bowler wrote:
> On 2010-07-29 11:30 -0600, Luke Palmer wrote:
>> If you are trying to redraw in realtime, eg. 30 FPS or so, I don't
>> think you're going to be able to.  There is just not enough GPU
>> bandwidth (and probably not enough CPU).
>
> Updating an 800x600 texture at 30fps on a somewhat modern system is
> absolutely *not* a problem.

It depends. Updating 800x600 screen at 24-bit color 30 times per second
requires 800*600*24*30 = 345600000 bytes/s = 329 MB/s which is larger
than the size of typical Video Memory, and the first version of PCI
Express (introduced 2003) is only 250 MB/s/lane.

While the bandwidth and Video Memory size is sufficient to transfer
329MB/s, it is quite near to the limit, especially if you have another
programs running, which may cause some resource contention or if you
used some memory-heavy techniques like double buffering.

You're probably quite safe if you have PCI Express version 2, have over
1GB RAM, and a good Video Card. You're probably quite screwed if your
VGA uses a Shared Memory Architecture (i.e. it uses RAM for video
memory, this easily causes resource contention).

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe