From: Phil Endecott (spam_from_boost_dev_at_[hidden])
Date: 2007-10-17 15:34:17
Tom Brinkman wrote:
> I've created lots more samples using adobe's GIL graphics library
> available at:
> Samples included text rendering, line drawing, and polygon filling.
> If you need a sample on something in particular, let me know and
> I'll try to add it. I've got many more that explore polygon filling
> but I'm having trouble with drawing speed.
I'm using a library called DirectFB, which is a relatively thin wrapper
around 2D hardware graphics acceleration. Operations like rectangular
copies and fills are hugely faster than letting the CPU do the work.
x86 hardware also has the MMX and SSE SIMD instruction set extensions
which can give significant speedups, e.g. processing the 3 8-bit
channels of an RGB pixel (or potentially 2 or 4 pixels) in one instruction.
So I have been wondering about how a graphics library that's not
hardware-specific, like GIL or Anti-Grain or FreeType, can best be
combined with hardware-specific features. For example, if I want to
draw a rectangle with curved corners, then ideally I'd use the graphics
hardware to draw the body of the rectangle and then do the details of
the corners from the CPU, using MMX instructions to process whole
pixels at a time. What sort of architecture would allow the maximum
exploitation of available speedups, with the simplest possible interface?
Any thoughts anyone?
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk