Complete.Org: Mailing Lists: Archives: freeciv-dev: March 2005:
[Freeciv-Dev] Re: Render speed test with imlib/xrender/sdl/pixbuf/ftwl
Home

[Freeciv-Dev] Re: Render speed test with imlib/xrender/sdl/pixbuf/ftwl

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: freeciv development list <freeciv-dev@xxxxxxxxxxx>
Subject: [Freeciv-Dev] Re: Render speed test with imlib/xrender/sdl/pixbuf/ftwl
From: Per Inge Mathisen <per@xxxxxxxxxxx>
Date: Mon, 21 Mar 2005 21:35:38 +0000 (GMT)

On Mon, 21 Mar 2005, Raimar Falke wrote:
> The task is to blit 4096 times a 100x100 png picture with alpha
> channel to a 320x320 png picture. The position varies based on a
> PRNG. Afterwards the result is shown to make sure that all produce the
> same results. This task was previously identified as the main
> bottleneck (about 80% of the CPU time) in the ftwl client.
>
> Results for my computer:
> Time: 0.310 sec for Imlib2 off-screen.
> Time: 0.584 sec for FTWL off-screen.
> Time: 1.169 sec for pixbuf off-screen.
> Time: 1.875 sec for Xrender on-screen.
> Time: 1.899 sec for Xrender off-screen.
> Time: 2.662 sec for SDL off-screen.

It looks like you forgot to change the SDL surface to the display format.
This would explain the poor SDL performance, most likely.

> If I disable the MMX support in imlib it produces
> Time: 1.184 sec for Imlib2 off-screen.
>
> Some remarks:
>
> It looks like SDL doesn't use MMX. I'm using however the rpm from
> fedora core 3.

This is a big problem. Many packages are compiled for the least common
denominator, and that excludes important optimizations like MMX/SSE/SSE2,
that make a big difference to things like this. So libraries that you
compile from source may optimize a lot better for your specific computer,
but this might be a deception. Once your program is out being distributed
as everything else, your careful optimizations that depend on CPU-specific
instructions may also be thrown to the wind.

> Also note that I can only say that ftwl is used correctly. Please
> suggest any other improvements of the usage of the other libs.

> Bottom line: Client (as in X11) side rendering doesn't get you a lot
> faster. A bit with MMX. Xrender as an interface for server side
> rendering isn't a good one. If this test can be done using OpenGL or
> any other interface I would like to know.

I will take a closer look.

  - Per




[Prev in Thread] Current Thread [Next in Thread]