The calculations are correct (and rounded to the worst case), I have one more number: its about 60kB/s data stream, just for the cursor.

But if somebody does not want to have this data flowing continuously, he can use an OpenGL based WM, where the mouse cursor/animation could be handled by textures. Once upload and then only to request redrawing the rectangle. I'm not programming 3D, but how will know the gpu what is underneath the cursor? The whole scene is stored in videoram or as the rectangle gets invalidated, a callback function is called (as in WinAPI)?

But, I also found one "pro", why store the cursor animation - the card knows the vertical retrace, so it can change to next image properly, without requesting an interrupt. This feature could be also added later, by someone who will go into hacking the fpga/gpu :)

Daniel

Timothy Miller wrote:
On 10/10/05, Marcel Moreaux <[EMAIL PROTECTED]> wrote:

On Sat, Oct 08, 2005 at 09:54:17AM -0400, Timothy Miller wrote:

Also maybe it would be an idea, if we use non-uniform sized packets,
to have a specialized packet to upload mouse pointer pixmap/masks.
On the other hand these can be stored in the card memory
and used by switching the pointing registers.

Changing the mouse pointer is VERY infrequent (relatively speaking).
It's also something asynchronous to other drawing operations that you
want to happen immediately.  As such, I've decided it's going to be
all PIO.

How would that scenario handle cursor animation? Many "The system is
busy now" type cursors are animated. Say cursor animation requires 15
different images per second.

Can the card store those images in its RAM, and just cycle through them?
Or is it required to PIO cursor image data to the card 15 times per
second? In the last case, would that be a problem?


Let's work this out.  A 60fps animation means we reload the cursor
every 16 milliseconds.

We could make it a full-color cursor with alpha blending.  That would
be 1024 32-bit words to write via PIO.  If each word takes 4 PCI
clocks (all to the same address, no burst), that's 4096 clocks, and at
33MHz, that's about 124 microseconds.

If you were to reload the cursor every frame, you would incur less
than a 0.8% CPU and PCI bus load.

Are my calculations right?

_______________________________________________
Open-graphics mailing list
[email protected]
http://lists.duskglow.com/mailman/listinfo/open-graphics
List service provided by Duskglow Consulting, LLC (www.duskglow.com)
_______________________________________________
Open-graphics mailing list
[email protected]
http://lists.duskglow.com/mailman/listinfo/open-graphics
List service provided by Duskglow Consulting, LLC (www.duskglow.com)

Reply via email to