Re: [Linux-fbdev-devel] Re: FBdev updates.

Antonino Daplas (adaplas@pol.net)
21 Feb 2003 06:00:53 +0800


On Fri, 2003-02-21 at 03:58, James Simmons wrote:
>
> > I was for five weeks in U.S., so I did not do anything with
> > matroxfb during that time. I plan to use fillrect and copyrect
> > from generic code
>
> I have ported the accelerated functions to the new api. What is left is to
> deal with the loadfont and putcs issue which I'm working on the code right
> now.
>
> > (although it means unnecessary multiply on
> > generic side, and division in matroxfb,
>
> ????
>
> > but well, if we gave
> > up on reasonable speed for fbdev long ago...).
>
> This is not true. Several benchmarks have shown a large performance
> improvement in 2.5.X.
>

2.5.x might be a bit slower with bpp8 but at higher color depths is
significantly faster. And this is done with a single generic color
exapnd function that replaces the entire fbcon-cfb*.c in 2.4. And it
will theoretically still draw correctly whatever the condition is (any
bpp from 1-32, unaligned origin, pitch, width, etc).

Drivers with accelerated color expansion, if done correctly, _should_
perform better whatever the color depth.

However, using fonts with widths not divisible by 8 will be several
folds slower. This should be helped if we add some form of tile/texture
blitting support to fbdev.

Note: I cannot test with 12x22 fonts in 2.4 because some/most drivers do
not support it.

Tony

no accel
scrollmode: yredraw
font: 8x16
visual: packed pixels

time cat /usr/src/linux/MAINTAINERS

linux-2.4.20

bpp8
----
real 0m2.499s
user 0m0.000s
sys 0m2.500s

bpp16
-----
real 0m8.324s
user 0m0.000s
sys 0m8.320s

bpp24
-----
real 0m12.364s
user 0m0.000s
sys 0m12.370s

bpp32
-----
real 0m16.274s
user 0m0.000s
sys 0m16.280s

linux-2.5.62

bpp8
----
real 0m2.557s
user 0m0.003s
sys 0m2.553s

bpp16
-----
real 0m4.051s
user 0m0.002s
sys 0m4.050s

bpp24
-----
real 0m9.520s
user 0m0.000s
sys 0m9.520s

bpp32
-----
real 0m7.496s
user 0m0.002s
sys 0m7.494s

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/