[intel] some numbers on driver performance, and some questions

Randolph Chung randolph at tausq.org
Fri Feb 1 17:26:40 PST 2008


Hello,

Here are some very rough numbers on video playback performance on my
i945GM.

I took three video clips, and played it back using different output settings
(x11, xv, xvmc) and measured the CPU idle time every 2 seconds over 20 seconds.
The system is otherwise idle. This is not a very accurate benchmark, but there
are some interesting things (at least to me):

In the following, 100.0 means 100% idle, so bigger numbers roughly means better
performance.

SD (528x480, MPEG-2)
	vlc-x11    vlc-xv#0    vlc-xv#1    xine-xv    xine-xvmc    xine-xxmc
avg     65.19      74.05       84.58       71.96      68.16        (1)
s.d.     9.94       8.51        9.89       17.99       8.62

HD (1080i, MPEG-2)
	vlc-x11    vlc-xv#0    vlc-xv#1    xine-xv    xine-xvmc    xine-xxmc
avg      8.15       1.30       39.43       15.08      (2)          15.14
s.d.    17.20       0.59        7.99        3.98                    2.99

HD (720p, H.264)
	vlc-x11    vlc-xv#0    vlc-xv#1    xine-xv    xine-xvmc    xine-xxmc
avg     10.51      27.60       54.38       27.29      (3)          28.33
s.d.    11.83      18.38       16.08       18.28                   16.58

Legend:
vlc-x11: vlc --vout x11 <file>
vlc-xv#0: vlc --vout xv --xvideo-adaptor 0 <file> # textured video adaptor
vlc-xv#1: vlc --vout xv --xvideo-adaptor 1 <file> # overlay video adaptor
xine-xv: xine -V xv <file>
xine-xvmc: xine -V xvmc <file>
xine-xxmc: xine -V xxmc <file>

I used xine for the xvmc test because vlc doesn't support xvmc, but I used
vlc for the xv test because it lets me choose the xv adaptor to bind to.
vlc-xv#0 should be roughly the same as xine-xv.

(1) Segfaults - haven't investigated further
(2) Gives a BadAlloc error
(3) Segfaults - haven't investigated further

Observations:
1) XvMC performance is limited. Zhenyu already commented on this.
   https://bugs.freedesktop.org/show_bug.cgi?id=14311

2) XV performance using the textured video adaptor is significantly lower
   than using the overlay video adaptor. Is this also a driver limitation?
   I took a quick look at the textured video path in the driver but nothing
   jumped out at me immediately.
 
   The vlc-xv#0 number looks a bit anomalous, but I've run it a few times. It's
   basically the same as using plain x11. I'm not sure if this is a vlc issue
   or a intel driver issue yet.

Test setup:
Intel Celeron M410 (1.46GHz)
1GB RAM
i945GM IGP
X.Org X Server 1.4.99.2
Build Operating System: Linux Ubuntu (xorg-server 2:1.3.0.0.dfsg-12ubuntu8.3)
Current Operating System: Linux goofy 2.6.24 #1 Tue Jan 29 16:08:07 PST 2008i686
Build Date: 30 January 2008  06:55:44AM
(II) Loading /usr/lib/xorg/modules/drivers//intel_drv.so
(II) Module intel: vendor="X.Org Foundation"
        compiled for 1.4.99.2, module version = 2.2.0
        Module class: X.Org Video Driver
(built from latest GIT on Jan 30)

$ vlc --version
VLC media player 0.8.6c Janus

$ xine --version
This is xine (X11 gui) - a free video player v0.99.5.
(c) 2000-2007 The xine Team.

xine-lib version is 1.1.17

Hope these numbers are useful to somebody. I'd be interested to see what
happens on a newer intel gfx chip like an i965, since the driver seems to behave
differently for that generation of chipsets.

randolph



More information about the xorg mailing list