Xvideo performance on Radeon 7500 vs Intel 915
rscheidegger_lists at hispeed.ch
Sat Nov 25 12:31:49 PST 2006
Ken Mandelberg wrote:
> I have two laptops. One is a 2GHZ Pentium M with an Intel 915GM , and
> the other is a 2GHZ Pentium 4 Mobile with a Radeon 7500 Mobility.
> HD Mpeg2 playback with xine/vlc/mplayer using the xv extension takes
> about 60% of the CPU on the Intel 915 laptop, with only a small amount
> showing in the X server itself.
> On the Radeon laptop, the cpu is at 100% with some frame dropping, and
> the X server shows about 30% if this.
> The distributions are a bit different, I have Suse 10.1 on the Intel and
> Ubuntu Edgy on the Radeon.
> On the surface it seems like the Radeon driver must be doing in software
> what the Intel is doing in hardware (scaling).
> Is there anything I can do to improve things on the Radeon, or is this a
> hardware limitation.
First, a P4 is a much slower cpu than a p-m (per clock). So you should
see higher cpu utilization. However, 30% of the time spent in the xorg
server seems a bit high. As long as you're using xv and are not dropping
back to plain x11 video output (as mplayer calls it) for whatever
reason, the graphic chip will always do the yuv->rgb conversion and scaling.
Make sure that dri is enabled - I think the data upload gets very slow
if the driver isn't using cp accel (which it only does if dri is
enabled). It's possible dri got disabled if you don't have enough video
ram (decrease bit depth or resolution in this case - if you don't need
3d you could probably also use the noBackBuffer option).
Otherwise, the radeon driver is a bit suboptimal as it does not use the
chips native planar yuv capabilities - the data gets converted to packed
yuv for whatever reason (some day I should finish a patch which avoids
that...). I wouldn't expect that to have that much of a performance
impact however, it's just copying some data around which shouldn't be
too much of a problem for a p4 (as it has enough memory bandwidth,
unless it's some really lame p4 notebook using sdr sdram).
More information about the xorg