On 12/4/05, Hugh Fisher <[EMAIL PROTECTED]> wrote:
>
> >>Timothy Miller <[EMAIL PROTECTED]> wrote:
> >>
> >>
> >>>The first thing we can do is carefull tune the DMA command packet set.
> >>> There are, of course, limitations on this, because we need to keep
> >>>the hardware simple, but there are likely many things we can do to
> >>>squeeze out a little more performance.  For instance, X and Y
> >>>coordinates are usually 16 bits, but sometimes, we don't need numbers
> >>>that big.  In those cases, we can use the extra bits to squeeze in
> >>>some other parameter(s).  The same is true for absolute addresses.
>
> I doubt this is going to be useful. Graphics libraries, whether
> 2D like X Windows or 3D like OpenGL, try to create batch arrays
> of coordinate values even when the application itself thinks it
> is making individual calls. The driver just stores the incoming
> arguments into an array and only sends them off to the card
> when it has built up a sufficiently large chunk or there is a
> state change.

Unfortunately, lacking a hardware vertex shader or geometry engine, we
won't be doing anything so convenient with THIS design, but this could
be useful for future designs.

>
> So how does the driver use a packed format? It can make a pass
> over the array before sending, and if all the values are inside
> the packed range then make a packed copy. Or it could check the
> incoming values as they arrive and set/clear a 'packable' flag,
> but it's still got to make a copy before sending. Or it could
> be optimistic and pack values until one that's out of range
> arrives, but then it has to either send what it has in smaller
> less efficient chunks, or 'realloc' the packed into unpacked.
> Will the extra memory copying be less than the DMA traffic?

For PCI, yes.  But for PCIe, maybe not.  Depends on how big the array
is and how fast the CPU can access its cache.

> I also wonder whether it would make a noticeable difference
> even if implemented. My opinion is that the volume of bitmap/
> image data from fonts in 2D GUIs or texture maps in 3D apps
> will be much greater than the coordinate/vertex data.

So, basically, for this design, if we're going to optimize anything,
then compressing bitmaps is about the best we're going to do?

_______________________________________________
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