Benchmarks

In this section you'll get a few programs for benchmarking the Disko middleware. You can get the source code of the benchmarks from GIT:

git clone git://diskohq.org/disko-benchmarks.git

Then switch to the disko-benchmarks directory and type make. Then you can goto a db_* directory (e.g. db_blend2layer) and start the db_* application./db_blend2layer.

The following abbreviations are used:

fps
frames per second
mpps
mega pixel per second
WindowPF
pixelformat of the window (e.g. ARGB, AYUV, ...)
LayerPF
pixelformat of the layer (e.g. YV12 if using the Disko X11 backend)

Please note that you will get a better frame rate if you compile disko with MMX/SSE support (make sse=y) - for x86 processors only.

Benchmark #1: db_blend2layer

Displays a main window with alphachannel above the layer. The content of the main window will be changed during the program run. To get a frame rate, the surface of the background window will be flipped as fast as possible. So the disko gui has to redraw the whole layer.

Benchmark #2: db_fade2layer

Displays a main window with alphachannel above the layer and changes the opacity of the window on-the-fly. The content of the main window will be additionally changed during the program run. To get a frame rate, the surface of the background window will be flipped as fast as possible. So the disko gui has to redraw the whole layer.

Benchmark #3: db_fillrectangle

Displays a main window with alphachannel above the layer. A region of the main window will be filled with different color and alpha channel. This will be done in a loop to get a pixel per second rate which will be displayed as mpps.

Benchmark #4: db_stretch2yv12layer

Displays a main window with alphachannel above the layer. Two stretch blits (one of it is a YV12 to YV12 stretch blit) will be done onto the surface of the background window. During the program run the antialiasing of the stretch blit will be switched on/off. To get a frame rate, the surface of the background window will be flipped as fast as possible. So the disko gui has to redraw the whole layer.